hooke.git
14 years agoAdd -n/--not-strict to igorbinarywave.py (currently for IBW files with non-empty...
W. Trevor King [Thu, 28 Oct 2010 16:39:29 +0000 (12:39 -0400)]
Add -n/--not-strict to igorbinarywave.py (currently for IBW files with non-empty padding).

14 years agoUpdate hooke.playlist.FilePlaylist doctests for explicit_user_call.
W. Trevor King [Wed, 29 Sep 2010 14:27:48 +0000 (10:27 -0400)]
Update hooke.playlist.FilePlaylist doctests for explicit_user_call.

14 years agoUpdate hooke.command_stack.CommandStack doctests for explicit_user_call.
W. Trevor King [Wed, 29 Sep 2010 14:25:40 +0000 (10:25 -0400)]
Update hooke.command_stack.CommandStack doctests for explicit_user_call.

14 years agoCleanups so hooke/ui/gui/ passes unittests.
W. Trevor King [Wed, 29 Sep 2010 14:17:07 +0000 (10:17 -0400)]
Cleanups so hooke/ui/gui/ passes unittests.

14 years agoLog errors when instantiation fails in hooke.util.pluggable.construct_*().
W. Trevor King [Wed, 29 Sep 2010 14:08:00 +0000 (10:08 -0400)]
Log errors when instantiation fails in hooke.util.pluggable.construct_*().

14 years agoRelax doctest constraints on hooke.util.fit.ModelFitter.
W. Trevor King [Wed, 29 Sep 2010 13:53:30 +0000 (09:53 -0400)]
Relax doctest constraints on hooke.util.fit.ModelFitter.

I'm not sure of the reason behind the differences, but sometimes the
exit condition varies slightly depending on which test box I use.

14 years agoAdd os.path.expanduser() wrappers to user-supplied paths.
W. Trevor King [Wed, 29 Sep 2010 13:47:50 +0000 (09:47 -0400)]
Add os.path.expanduser() wrappers to user-supplied paths.

This allows things like
  [gui user interface]
  perspective path = ~/.hooke/resources/gui/perspective
to work as expected.

14 years agoZip files use slashes (not os.path.sep) for their path separator (JPK driver).
W. Trevor King [Wed, 29 Sep 2010 12:59:25 +0000 (08:59 -0400)]
Zip files use slashes (not os.path.sep) for their path separator (JPK driver).

14 years agoQuote backslash-containing arguments in doc/tutorial.py.
W. Trevor King [Wed, 29 Sep 2010 11:42:59 +0000 (07:42 -0400)]
Quote backslash-containing arguments in doc/tutorial.py.

14 years agoalbedomanu -> Manuel Gensler based on an email from the latter.
W. Trevor King [Wed, 15 Sep 2010 19:22:38 +0000 (15:22 -0400)]
albedomanu -> Manuel Gensler based on an email from the latter.

14 years agoUse `with Closing(...) as f:` in JPKDriver._zip_segment().
W. Trevor King [Thu, 9 Sep 2010 12:26:49 +0000 (08:26 -0400)]
Use `with Closing(...) as f:` in JPKDriver._zip_segment().

14 years agoExtended test/jpk_driver.py to test .jpk-data1D file reading.
W. Trevor King [Thu, 9 Sep 2010 12:24:58 +0000 (08:24 -0400)]
Extended test/jpk_driver.py to test .jpk-data1D file reading.

14 years agoExtent JPK driver to also read .jpk-data1D-file files.
W. Trevor King [Thu, 9 Sep 2010 11:37:03 +0000 (07:37 -0400)]
Extent JPK driver to also read .jpk-data1D-file files.

Also:
* Lowercase most JPK exception messages.
* Decode integer types to floats as specified by 'encoder'.
* Give the path to the old file when suggeesting an `out2jpk-force` upgrade.

14 years agoFix test/jpk_driver.py now that we can load each of the examples.
W. Trevor King [Wed, 8 Sep 2010 20:22:09 +0000 (16:22 -0400)]
Fix test/jpk_driver.py now that we can load each of the examples.

14 years agoEnsure unique segment names in the JPK driver.
W. Trevor King [Wed, 8 Sep 2010 20:21:39 +0000 (16:21 -0400)]
Ensure unique segment names in the JPK driver.

14 years agoFix distance_base_unit extraction in JPK driver for encoded data.
W. Trevor King [Wed, 8 Sep 2010 20:13:18 +0000 (16:13 -0400)]
Fix distance_base_unit extraction in JPK driver for encoded data.

14 years agoFix JPK list field splitting for empty lists.
W. Trevor King [Wed, 8 Sep 2010 20:09:23 +0000 (16:09 -0400)]
Fix JPK list field splitting for empty lists.

14 years agoOnly pass curve params out to segments if they exist.
W. Trevor King [Wed, 8 Sep 2010 20:02:24 +0000 (16:02 -0400)]
Only pass curve params out to segments if they exist.

14 years agoSkip some param translation in the JPK driver for channel-less segments.
W. Trevor King [Wed, 8 Sep 2010 19:48:22 +0000 (15:48 -0400)]
Skip some param translation in the JPK driver for channel-less segments.

14 years agoImprove handling of the base calibration slot units in JPK driver.
W. Trevor King [Wed, 8 Sep 2010 19:45:20 +0000 (15:45 -0400)]
Improve handling of the base calibration slot units in JPK driver.

14 years agoI'm using the 0.12 specs for the JPK driver, so allow version 0.12 files.
W. Trevor King [Wed, 8 Sep 2010 17:59:08 +0000 (13:59 -0400)]
I'm using the 0.12 specs for the JPK driver, so allow version 0.12 files.

The previous range(12) code only went up to version 0.11.

14 years agoAdjust unit extraction from the JPK file format.
W. Trevor King [Wed, 8 Sep 2010 17:57:56 +0000 (13:57 -0400)]
Adjust unit extraction from the JPK file format.

I've emailed Michael Haggerty to track down the version that made the
change from 'data.unit=' to 'data.unit.unit='.  For now, I'm assuming
it's just <= 0.2.

14 years agoAdd support for raster and constant data to JPK driver.
W. Trevor King [Wed, 8 Sep 2010 17:35:23 +0000 (13:35 -0400)]
Add support for raster and constant data to JPK driver.

14 years agoAdd support for {,u}int{16,32} segments in JPK driver.
W. Trevor King [Wed, 8 Sep 2010 17:18:19 +0000 (13:18 -0400)]
Add support for {,u}int{16,32} segments in JPK driver.

TODO: check that these are converted to float32 or similar when
converting from bits to meters.  Potentially change from multi-column
Data blocks to lists of single column blocks to allow for different
dtypes in each block.

14 years agoBreak JPK data block name extraction out into ._zip_segment_name().
W. Trevor King [Wed, 8 Sep 2010 14:58:45 +0000 (10:58 -0400)]
Break JPK data block name extraction out into ._zip_segment_name().

Also removes restrictions on allowed names.

14 years agoExtract 'z piezo sensitivity (m/V)' from JPK files into Curve.info.
W. Trevor King [Wed, 8 Sep 2010 14:54:40 +0000 (10:54 -0400)]
Extract 'z piezo sensitivity (m/V)' from JPK files into Curve.info.

Not particularly important, since we convert from V to m inside the
driver, but it's an interesting property for getting a feel for how a
particular instrument works.

14 years agoAccept version 0.2 (and similar?) JPK files with channels (vs. channels.list).
W. Trevor King [Wed, 8 Sep 2010 14:51:08 +0000 (10:51 -0400)]
Accept version 0.2 (and similar?) JPK files with channels (vs. channels.list).

I've emailed Michael Haggerty for clarification on this issue, but
this will work until I hear back.

14 years agoMark block level spring constant as a hack in the JPK driver.
W. Trevor King [Wed, 8 Sep 2010 14:41:03 +0000 (10:41 -0400)]
Mark block level spring constant as a hack in the JPK driver.

14 years agoDon't assume you know which sJPK egments will be created.
W. Trevor King [Wed, 8 Sep 2010 14:39:57 +0000 (10:39 -0400)]
Don't assume you know which sJPK egments will be created.

14 years agoAllow JPK file versions up to 0.12 (unfinished).
W. Trevor King [Wed, 8 Sep 2010 14:38:10 +0000 (10:38 -0400)]
Allow JPK file versions up to 0.12 (unfinished).

14 years agoAdd version 0.2 and 0.12 JPK file examples from Michael Haggerty.
W. Trevor King [Wed, 8 Sep 2010 14:33:56 +0000 (10:33 -0400)]
Add version 0.2 and 0.12 JPK file examples from Michael Haggerty.

Also adjust test/jpk_driver.py to attempt to load each file in the JPK
playlist.  Note that this currently fails for some of the new files
because I haven't fixed the JPK driver yet.

14 years agoMove hooke.driver.igorbinarywave to hooke.util.igorbinarywave.
W. Trevor King [Wed, 8 Sep 2010 14:30:28 +0000 (10:30 -0400)]
Move hooke.driver.igorbinarywave to hooke.util.igorbinarywave.

It's a utility for the MFP3D driver, not a driver in its own right.

14 years agoUpdate test/ to pass after 8f1ebe298b48.
W. Trevor King [Tue, 7 Sep 2010 19:07:02 +0000 (15:07 -0400)]
Update test/ to pass after 8f1ebe298b48.

14 years agoDon't specify curve or data block types. See doc/standards.txt.
W. Trevor King [Tue, 7 Sep 2010 18:43:11 +0000 (14:43 -0400)]
Don't specify curve or data block types.  See doc/standards.txt.

14 years agoAdd information about JPKForceSpec.txt to hooke.driver.jpk.__doc__.
W. Trevor King [Mon, 6 Sep 2010 00:26:03 +0000 (20:26 -0400)]
Add information about JPKForceSpec.txt to hooke.driver.jpk.__doc__.

Update this if you adjust the driver based on a newer spec, or if JPK
changes their licensing or contact email address.

14 years agoImprove error message for old (ASCII) JPK file formats.
W. Trevor King [Mon, 6 Sep 2010 00:02:09 +0000 (20:02 -0400)]
Improve error message for old (ASCII) JPK file formats.

Michael Haggerty gave me the name of JPK's upgrade script so we can
point users in the right direction.

14 years agoRemove 'results' panel from GUI. Use 'block info' instead.
W. Trevor King [Thu, 2 Sep 2010 19:26:38 +0000 (15:26 -0400)]
Remove 'results' panel from GUI.  Use 'block info' instead.

14 years agoAdded --config option to bin/hk.py to override built in config file path.
W. Trevor King [Thu, 2 Sep 2010 19:23:07 +0000 (15:23 -0400)]
Added --config option to bin/hk.py to override built in config file path.

14 years agoRemove hooke/plugin/export.py.
W. Trevor King [Thu, 2 Sep 2010 14:19:35 +0000 (10:19 -0400)]
Remove hooke/plugin/export.py.

You can achieve the similar effects with
  do_fits         ->  'block info'
  do_force_curve  ->  'export block'
  do_notes        ->  'save playlist'
  do_overlay      ->  'export block' or future 'superimpose' + 'export block'
  do_results      ->  'block info' or 'export block'

14 years agoRemove hooke/plugin/results.py.
W. Trevor King [Thu, 2 Sep 2010 14:12:59 +0000 (10:12 -0400)]
Remove hooke/plugin/results.py.

I'm not sure what it was for in the first place.  Probably not a great
reason to remove it ;), but if it turns out to have been important, we
can always bring it back later.

14 years agoRemove hooke/plugin/procplots.py.
W. Trevor King [Thu, 2 Sep 2010 14:10:18 +0000 (10:10 -0400)]
Remove hooke/plugin/procplots.py.

Nothing substantially different from hooke/plugin/plotmanip.py.

14 years agoRemove hooke/plugin/generalvclamp.py.
W. Trevor King [Thu, 2 Sep 2010 14:06:54 +0000 (10:06 -0400)]
Remove hooke/plugin/generalvclamp.py.

The only functions without analogs in the current framework are
already listed at the OldCruft class at the end of
hooke/plugin/curve.py.

14 years agoRemove hooke/plugin/flatfilts*
W. Trevor King [Thu, 2 Sep 2010 13:58:14 +0000 (09:58 -0400)]
Remove hooke/plugin/flatfilts*

Their functionality is now distributed among
  hooke/plugin/flatfilt.py
  hooke/plugin/convfilt.py
  hooke/util/peak.py

14 years agoUpdate test/ with new 'block names' in 'curve info' (from 3371b5652dfe).
W. Trevor King [Thu, 2 Sep 2010 10:37:55 +0000 (06:37 -0400)]
Update test/ with new 'block names' in 'curve info' (from 3371b5652dfe).

14 years agoAdd 'block names' argument to 'curve info'.
W. Trevor King [Thu, 2 Sep 2010 10:26:00 +0000 (06:26 -0400)]
Add 'block names' argument to 'curve info'.

Many commands key off the block name, so there should be a way for the
user to determine what the block names are.

14 years agoAdd list of possible keys to 'block info' error for key discovery.
W. Trevor King [Thu, 2 Sep 2010 10:23:05 +0000 (06:23 -0400)]
Add list of possible keys to 'block info' error for key discovery.

14 years agoUpdated test/ to match new pformated command line output.
W. Trevor King [Thu, 2 Sep 2010 02:37:17 +0000 (22:37 -0400)]
Updated test/ to match new pformated command line output.

14 years agopprint.pformat output dicts in ui.commandline.
W. Trevor King [Thu, 2 Sep 2010 02:22:03 +0000 (22:22 -0400)]
pprint.pformat output dicts in ui.commandline.

Also more str() -> unicode() (see 2f57e930cd52).

14 years agoAdded 'block info' to retrieve and export portions of Curve.data[*].info.
W. Trevor King [Thu, 2 Sep 2010 02:06:59 +0000 (22:06 -0400)]
Added 'block info' to retrieve and export portions of Curve.data[*].info.

14 years agoNote that unloaded curves will not have any Data or DataInfo portion saved in playlis...
W. Trevor King [Wed, 1 Sep 2010 22:28:13 +0000 (18:28 -0400)]
Note that unloaded curves will not have any Data or DataInfo portion saved in playlist files.

14 years agoRan update_copyright.py.
W. Trevor King [Wed, 1 Sep 2010 20:31:08 +0000 (16:31 -0400)]
Ran update_copyright.py.

14 years agoAdd 'hg update wtk' to Mercurial installation directions.
W. Trevor King [Wed, 1 Sep 2010 14:01:35 +0000 (10:01 -0400)]
Add 'hg update wtk' to Mercurial installation directions.

14 years agoCheck data copying in Curve.__copy__ and .__deepcopy__ doctests.
W. Trevor King [Tue, 31 Aug 2010 12:44:49 +0000 (08:44 -0400)]
Check data copying in Curve.__copy__ and .__deepcopy__ doctests.

14 years agoStore a copy of params in CurveCommand._add_to_command_stack.
W. Trevor King [Mon, 30 Aug 2010 17:56:49 +0000 (13:56 -0400)]
Store a copy of params in CurveCommand._add_to_command_stack.

We may modify the parameter dict later during the command's execution,
and we want future runs via the command stack to replicate the first
run from the raw initial parameters.  If you don't do this, you'll get
errors like

    $ ./bin/hk.py
        -c 'load_playlist test/data/vclamp_picoforce/playlist'
        -c 'start_command_capture'
        -c 'zero_surface_contact_point --block approach'
        -c 'zero_surface_contact_point --block retract'
        -c 'stop_command_capture'
        -c 'apply_command_stack_to_playlist --enable-evaluate'
        -c 'flat_filter_playlist --block retract --min_points 1'
    Success
    ...
    Failure
    Expected a list of Peaks, not <class 'hooke.command.Failure'>:
      surface distance (m) not in retract (['z piezo (m)', 'deflection (m)',
      'surface distance (m) (m)', 'surface deflection (m) (m)']):...

where the units '(m)' were appended twice, once during the initial
command run, and again during the reload's command stack exectution.

14 years agoMaintain Curve._hooke setting during copy and deepcopy.
W. Trevor King [Mon, 30 Aug 2010 17:22:27 +0000 (13:22 -0400)]
Maintain Curve._hooke setting during copy and deepcopy.

14 years agoFlesh out command line help messages.
W. Trevor King [Sun, 29 Aug 2010 00:47:43 +0000 (20:47 -0400)]
Flesh out command line help messages.

14 years ago.__setup_params() -> ._setup_params() in hooke/plugin/*.py.
W. Trevor King [Sat, 28 Aug 2010 23:35:49 +0000 (19:35 -0400)]
.__setup_params() -> ._setup_params() in hooke/plugin/*.py.

Methods starting with '__' get special name mangling.
  http://docs.python.org/reference/expressions.html#atom-identifiers
We don't want any of that.

14 years agoDon't distinguish between ASCII unicode and strings in YAML output.
W. Trevor King [Sat, 28 Aug 2010 22:58:38 +0000 (18:58 -0400)]
Don't distinguish between ASCII unicode and strings in YAML output.

14 years agoDocument fit parameter extraction via PyYAML.
W. Trevor King [Sat, 28 Aug 2010 12:42:19 +0000 (08:42 -0400)]
Document fit parameter extraction via PyYAML.

14 years agoDocument --ui in doc/gui.txt.
W. Trevor King [Sat, 28 Aug 2010 11:38:47 +0000 (07:38 -0400)]
Document --ui in doc/gui.txt.

14 years agoAdded convenience --ui option to hooke.hooke.main().
W. Trevor King [Sat, 28 Aug 2010 11:34:27 +0000 (07:34 -0400)]
Added convenience --ui option to hooke.hooke.main().

14 years agoTrivial fixes to test/command_stack.py. Now test/ passes again.
W. Trevor King [Fri, 27 Aug 2010 23:00:21 +0000 (19:00 -0400)]
Trivial fixes to test/command_stack.py.  Now test/ passes again.

14 years agoDon't load curves becore clearing their command stack.
W. Trevor King [Fri, 27 Aug 2010 22:44:01 +0000 (18:44 -0400)]
Don't load curves becore clearing their command stack.

Loading a curve (which would happen if it had been unloaded before
being summoned by current_curve_callback) executes its command stack.
Since 'clear curve command stack' is only trying to remove the stack,
that stack execution is a waste of time.  With the unloaded callback,
we can remove the command stack without ever loading the curve.

14 years agoFix 'flat filter peaks' CommandMessage declaration in test/apply_command_stack_to_pla...
W. Trevor King [Fri, 27 Aug 2010 22:39:44 +0000 (18:39 -0400)]
Fix 'flat filter peaks' CommandMessage declaration in test/apply_command_stack_to_playlist.py

14 years agoDon't fail if Playlist.unload() is called on an unloaded Curve.
W. Trevor King [Fri, 27 Aug 2010 21:36:35 +0000 (17:36 -0400)]
Don't fail if Playlist.unload() is called on an unloaded Curve.

14 years agoDouble initial guess for the surface kink position.
W. Trevor King [Fri, 27 Aug 2010 21:31:39 +0000 (17:31 -0400)]
Double initial guess for the surface kink position.

The previous algorithm would fail for curves if
1) They didn't have many tension features to stretch out the range.
2) The contact slope "softened" a bit in the kink region.

For example, try it on most of the test/vclamp_picoforce data ;).

The new algorithm works perfectly on the ideal, boring curve:
    _______
   /
  /

14 years agoKeep Playlist._loaded up to date on Curve.unload() calls.
W. Trevor King [Fri, 27 Aug 2010 20:14:25 +0000 (16:14 -0400)]
Keep Playlist._loaded up to date on Curve.unload() calls.

14 years agoAdd 'command stack' to list of ignored commands in propertyeditor.py
W. Trevor King [Fri, 27 Aug 2010 19:46:21 +0000 (15:46 -0400)]
Add 'command stack' to list of ignored commands in propertyeditor.py

14 years agoAdded logging to hooke.util.callback's callback routines.
W. Trevor King [Fri, 27 Aug 2010 19:25:01 +0000 (15:25 -0400)]
Added logging to hooke.util.callback's callback routines.

14 years agoOops, the CommandMessage.explicit_user_call, not Command.explicit_user_call.
W. Trevor King [Fri, 27 Aug 2010 19:20:22 +0000 (15:20 -0400)]
Oops, the CommandMessage.explicit_user_call, not Command.explicit_user_call.

Fixes bug from daf1c9f9c8e1.

14 years agoAdded hooke.util.caller.caller_names() for minimal stack traces.
W. Trevor King [Fri, 27 Aug 2010 15:29:30 +0000 (11:29 -0400)]
Added hooke.util.caller.caller_names() for minimal stack traces.

14 years agoAdded CommandStack.explicit_user_call to distinguish user- from UI-generated calls.
W. Trevor King [Fri, 27 Aug 2010 11:03:36 +0000 (07:03 -0400)]
Added CommandStack.explicit_user_call to distinguish user- from UI-generated calls.

14 years agoMore robust guess for `zero surface contact point` + fit check arguments
W. Trevor King [Tue, 24 Aug 2010 11:32:35 +0000 (07:32 -0400)]
More robust guess for `zero surface contact point` + fit check arguments

14 years agoAdd PyYAML to doc/install.txt and doc/hacking.txt dependency lists.
W. Trevor King [Mon, 23 Aug 2010 15:46:26 +0000 (11:46 -0400)]
Add PyYAML to doc/install.txt and doc/hacking.txt dependency lists.

14 years agoExtend JPK v0.5 parsing back to 0.3 and 0.4 file formats.
W. Trevor King [Mon, 23 Aug 2010 14:29:14 +0000 (10:29 -0400)]
Extend JPK v0.5 parsing back to 0.3 and 0.4 file formats.

On Mon, Aug 23, 2010 at 02:15:08PM +0200, Michael Haggerty wrote:
> The fundamentals of our file format has not changed much since it was
> introduced.  Most of the changes involve metadata, such as how we
> describe force spectroscopy scanning patterns, that are not even
> described in the document that I sent you.

14 years agoRemove ._on_notebook_page_close binding for the removed notebook GUI panel.
W. Trevor King [Mon, 23 Aug 2010 13:19:51 +0000 (09:19 -0400)]
Remove ._on_notebook_page_close binding for the removed notebook GUI panel.

14 years agoRestore HookeFrame.select_plugin (was removed in 29866287a21e).
W. Trevor King [Mon, 23 Aug 2010 13:14:30 +0000 (09:14 -0400)]
Restore HookeFrame.select_plugin (was removed in 29866287a21e).

14 years agoCleaned non-folders-panel cruft methods out of hooke.ui.gui.HookeFrame
W. Trevor King [Sun, 22 Aug 2010 19:26:07 +0000 (15:26 -0400)]
Cleaned non-folders-panel cruft methods out of hooke.ui.gui.HookeFrame

14 years agoUpdate view menu checkbox on pane-close button activity.
W. Trevor King [Sun, 22 Aug 2010 19:13:03 +0000 (15:13 -0400)]
Update view menu checkbox on pane-close button activity.

14 years agoShift function key accelerators down by one (from F5 and up to F4 and up).
W. Trevor King [Sun, 22 Aug 2010 18:41:24 +0000 (14:41 -0400)]
Shift function key accelerators down by one (from F5 and up to F4 and up).

Despite the stated range of F1 through F12
  http://docs.wxwidgets.org/2.8/wx_wxmenu.html#wxmenuappend
F10 seems to open the &File menu instead of toggling its panel's
visibility.  This is possibly related to
  http://trac.wxwidgets.org/ticket/2404

14 years agoAdd menu title hotkeys to the GUI.
W. Trevor King [Sun, 22 Aug 2010 18:10:02 +0000 (14:10 -0400)]
Add menu title hotkeys to the GUI.

From
  http://wiki.wxwidgets.org/Beech:Using_controls#Adding_a_Menu_Bar
we have
  "Note how the ampersand ("&") is used in strings like "E&xit" and
  "&File". This indicates which character in a menubar or menu will be
  the menu hotkey."

14 years agoSave dtypes to YAML (now we only drop ndarrays).
W. Trevor King [Sun, 22 Aug 2010 13:59:00 +0000 (09:59 -0400)]
Save dtypes to YAML (now we only drop ndarrays).

14 years agoAdd hooke.util.yaml.data_constructor to rebuild hooke.curve.Data.info.
W. Trevor King [Sun, 22 Aug 2010 13:34:37 +0000 (09:34 -0400)]
Add hooke.util.yaml.data_constructor to rebuild hooke.curve.Data.info.

14 years agoSave nicely scaled WLC parameters to the fit dict in polymer_fit.py.
W. Trevor King [Sun, 22 Aug 2010 06:18:52 +0000 (02:18 -0400)]
Save nicely scaled WLC parameters to the fit dict in polymer_fit.py.

14 years agoUpdated test/ to match the new explicit YAML format.
W. Trevor King [Sun, 22 Aug 2010 05:54:12 +0000 (01:54 -0400)]
Updated test/ to match the new explicit YAML format.

And other minor tweaks to get things passing again.
  $ nosetests --with-doctest --doctest-tests -vv test/ 2>&1 | less
  ...
  Ran 27 tests in 43.349s

  OK

Note that the tutorial.py and note.py tests were going so slowly
before (but are fast again now) because I was (re)loading
playlist/curve/etc. items in .__setstate__, when they are supposed to
be set with `listitems`.  If you're going to go messing around with
__getstate__ or __setstate__, it would be a good idea to read
  http://www.python.org/dev/peps/pep-0307/
(especially Case 2 and Case 3) *carefully* before wasting a bunch
of time and confusion bungling around like I did ;).

14 years agoAdd `name playlist' command.
W. Trevor King [Sun, 22 Aug 2010 05:49:02 +0000 (01:49 -0400)]
Add `name playlist' command.

To avoid collisions if you load the same playlist twice, etc.

14 years agoUpgrade test/data/ playlists to new explicit YAML format.
W. Trevor King [Sun, 22 Aug 2010 05:23:35 +0000 (01:23 -0400)]
Upgrade test/data/ playlists to new explicit YAML format.

14 years agoStay on top of Curve.set_hooke() so we can run CommandStacks.
W. Trevor King [Sun, 22 Aug 2010 05:13:43 +0000 (01:13 -0400)]
Stay on top of Curve.set_hooke() so we can run CommandStacks.

14 years agoRemove debugging printout from hooke.playlist.load.
W. Trevor King [Sun, 22 Aug 2010 05:08:27 +0000 (01:08 -0400)]
Remove debugging printout from hooke.playlist.load.

14 years agoCleaned up hooke.playlist.load() and its use in `load playlist`.
W. Trevor King [Sun, 22 Aug 2010 05:03:28 +0000 (01:03 -0400)]
Cleaned up hooke.playlist.load() and its use in `load playlist`.

14 years agoAdjust Hooke internals to use unsafe YAML (not just builtin Python types).
W. Trevor King [Sun, 22 Aug 2010 04:44:16 +0000 (00:44 -0400)]
Adjust Hooke internals to use unsafe YAML (not just builtin Python types).

Pros:
* More explicit YAML.
* Simple, robust code.
* Easily (de)serialize everything, regardless of nesting, etc.
Cons:
* Uglier YAML.

After wrestling with a yaml.safe_dump()able representation, I've given
up and shifted to yaml.dump().  Now we can dump anything easily, which
is great :).  For example, this will allow you to access polymer fit
parameters.  However, there will be things like
  !!python/object/new:hooke.playlist.FilePlaylist
in the output YAML files.  Such is life.

While I was at it, I ran
  $ nosetests --with-doctest --doctest-tests hooke/ 2>&1 | log
and cleaned up a number of the doctests.  Now the only things that
fail in there are the yet-to-be-upgraded submods left over from before
my rewrite.

I haven't checked test/ recently, that's next ;).

14 years agoFix hooke.util.yaml handling of assorted numpy.dtypes.
W. Trevor King [Sat, 21 Aug 2010 22:22:50 +0000 (18:22 -0400)]
Fix hooke.util.yaml handling of assorted numpy.dtypes.

14 years agoFix polymer fit info name
W. Trevor King [Sat, 21 Aug 2010 22:21:57 +0000 (18:21 -0400)]
Fix polymer fit info name

14 years agoDon't ignore Curve.data in playlist serialization (now that we have hooke.util.yaml).
W. Trevor King [Sat, 21 Aug 2010 20:25:54 +0000 (16:25 -0400)]
Don't ignore Curve.data in playlist serialization (now that we have hooke.util.yaml).

14 years agoAdded command_stack option to all' default.
W. Trevor King [Sat, 21 Aug 2010 20:11:12 +0000 (16:11 -0400)]
Added command_stack option to all' default.

14 years agoClear NoteIndexList in .__setstate__ to avoid doubling items during engine->UI passing.
W. Trevor King [Sat, 21 Aug 2010 19:05:41 +0000 (15:05 -0400)]
Clear NoteIndexList in .__setstate__ to avoid doubling items during engine->UI passing.

14 years agoFix to plugin experiment checks after 8687bbf30e87.
W. Trevor King [Sat, 21 Aug 2010 18:47:02 +0000 (14:47 -0400)]
Fix to plugin experiment checks after 8687bbf30e87.

14 years agoFix item -> items() bug in command_stack.py (now loaded curve playlist serialization...
W. Trevor King [Sat, 21 Aug 2010 18:40:03 +0000 (14:40 -0400)]
Fix item -> items() bug in command_stack.py (now loaded curve playlist serialization works!)

14 years agoAdded hooke.util.yaml fixing YAML/NumPy type issues (by dropping data).
W. Trevor King [Sat, 21 Aug 2010 18:37:20 +0000 (14:37 -0400)]
Added hooke.util.yaml fixing YAML/NumPy type issues (by dropping data).

14 years agoTracked down problems saving playlists with loaded curves to numpy.dtype
W. Trevor King [Sat, 21 Aug 2010 17:44:05 +0000 (13:44 -0400)]
Tracked down problems saving playlists with loaded curves to numpy.dtype