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 ;).
>>> h = r.run_lines(h, ['curve_info']) # doctest: +ELLIPSIS, +REPORT_UDIFF
name: picoforce.000
path: .../test/data/picoforce.000
-experiment: <class 'hooke.experiment.VelocityClamp'>
+experiment: <hooke.experiment.VelocityClamp object at 0x...>
driver: <hooke.driver.picoforce.PicoForceDriver object at 0x...>
filetype: picoforce
note: None
+command stack: []
blocks: 2
block sizes: [(2048, 2), (2048, 2)]
Success
>>> h = r.run_lines(h, ['curve_info']) # doctest: +ELLIPSIS, +REPORT_UDIFF
name: 20080428_a53t-0-0-10.dat
path: .../test/data/fclamp_hemingway/20080428_a53t-0-0-10.dat
-experiment: <class 'hooke.experiment.ForceClamp'>
+experiment: <hooke.experiment.ForceClamp object at 0x...>
driver: <hooke.driver.hemingway.HemingwayDriver object at 0x...>
filetype: hemingway
note: None
+command stack: []
blocks: 1
block sizes: [(14798, 5)]
Success
>>> h = r.run_lines(h, ['curve_info']) # doctest: +ELLIPSIS, +REPORT_UDIFF
name: 2009.04.23-15.15.47.jpk
path: .../test/data/vclamp_jpk/2009.04.23-15.15.47.jpk
-experiment: <class 'hooke.experiment.VelocityClamp'>
+experiment: <hooke.experiment.VelocityClamp object at 0x...>
driver: <hooke.driver.jpk.JPKDriver object at 0x...>
filetype: jpk
note: None
+command stack: []
blocks: 2
block sizes: [(4096, 6), (4096, 4)]
Success
>>> h = r.run_lines(h, ['curve_info']) # doctest: +ELLIPSIS, +REPORT_UDIFF
name: Line0004Point0000.ibw
path: .../test/data/vclamp_mfp3d/Line0004Point0000.ibw
-experiment: <class 'hooke.experiment.VelocityClamp'>
+experiment: <hooke.experiment.VelocityClamp object at 0x...>
driver: <hooke.driver.mfp3d.MFP3DDriver object at 0x...>
filetype: mfp3d
note: None
+command stack: []
blocks: 3
block sizes: [(491, 2), (497, 2), (105, 2)]
Success
>>> h = r.run_lines(h, ['curve_info']) # doctest: +ELLIPSIS, +REPORT_UDIFF
name: Image0396.ibw
path: .../test/data/vclamp_mfp3d/Image0396.ibw
-experiment: <class 'hooke.experiment.VelocityClamp'>
+experiment: <hooke.experiment.VelocityClamp object at 0x...>
driver: <hooke.driver.mfp3d.MFP3DDriver object at 0x...>
filetype: mfp3d
note: None
+command stack: []
blocks: 3
block sizes: [(506, 3), (6, 3), (496, 3)]
Success
>>> h = r.run_lines(h, ['curve_info']) # doctest: +ELLIPSIS, +REPORT_UDIFF
name: 20071120a_i27_t33.100
path: .../test/data/vclamp_picoforce/20071120a_i27_t33.100
-experiment: <class 'hooke.experiment.VelocityClamp'>
+experiment: <hooke.experiment.VelocityClamp object at 0x...>
driver: <hooke.driver.picoforce.PicoForceDriver object at 0x...>
filetype: picoforce
note: None
+command stack: []
blocks: 2
block sizes: [(2048, 2), (2048, 2)]
Success
>>> h = r.run_lines(h, ['curve_info']) # doctest: +ELLIPSIS, +REPORT_UDIFF
name: 0x07200000
path: .../test/data/vclamp_picoforce/0x07200000
-experiment: <class 'hooke.experiment.VelocityClamp'>
+experiment: <hooke.experiment.VelocityClamp object at 0x...>
driver: <hooke.driver.picoforce.PicoForceDriver object at 0x...>
filetype: picoforce
note: None
+command stack: []
blocks: 2
block sizes: [(512, 2), (512, 2)]
Success
>>> h = r.run_lines(h, ['curve_info']) # doctest: +ELLIPSIS, +REPORT_UDIFF
name: 0x06130001
path: .../test/data/vclamp_picoforce/0x06130001
-experiment: <class 'hooke.experiment.VelocityClamp'>
+experiment: <hooke.experiment.VelocityClamp object at 0x...>
driver: <hooke.driver.picoforce.PicoForceDriver object at 0x...>
filetype: picoforce
note: None
+command stack: []
blocks: 2
block sizes: [(2048, 2), (2048, 2)]
Success
>>> h = r.run_lines(h, ['save_playlist --output mylist'])
Success
<BLANKLINE>
+>>> h = r.run_lines(h, ['name_playlist my_old_list'])
+<FilePlaylist my_old_list>
+Success
+<BLANKLINE>
>>> os.path.isfile('mylist.hkp')
True
>>> h = r.run_lines(h, ['load_playlist mylist.hkp'])
-<FilePlaylist mylist.hkp>
+<FilePlaylist mylist>
Success
<BLANKLINE>
>>> if playlist_already_exists == False:
Success
<BLANKLINE>
+>>> [p for p in h.playlists]
+[<FilePlaylist my_old_list>, <FilePlaylist mylist>]
>>> h = r.run_lines(h, ['get_playlist'])
-<FilePlaylist mylist>
+<FilePlaylist my_old_list>
Success
<BLANKLINE>
>>> h = r.run_lines(h, ['next_playlist'])
Success
<BLANKLINE>
>>> h = r.run_lines(h, ['get_playlist'])
-<FilePlaylist mylist.hkp>
+<FilePlaylist mylist>
Success
<BLANKLINE>
>>> h = r.run_lines(h, ['previous_playlist'])
Success
<BLANKLINE>
>>> h = r.run_lines(h, ['get_playlist'])
-<FilePlaylist mylist>
+<FilePlaylist my_old_list>
Success
<BLANKLINE>
>>> h = r.run_lines(h, ['playlist_index'])
Success
<BLANKLINE>
>>> h = r.run_lines(h, ['get_playlist'])
-<FilePlaylist mylist.hkp>
+<FilePlaylist mylist>
Success
<BLANKLINE>
>>> h = r.run_lines(h, ['playlist_index'])
Success
<BLANKLINE>
>>> h = r.run_lines(h, ['get_playlist'])
-<FilePlaylist mylist>
+<FilePlaylist my_old_list>
Success
<BLANKLINE>
>>> h = r.run_lines(h, ['playlist_index'])
Success
<BLANKLINE>
>>> h = r.run_lines(h, ['get_playlist'])
-<FilePlaylist mylist.hkp>
+<FilePlaylist mylist>
Success
<BLANKLINE>
>>> h = r.run_lines(h, ['playlist_index'])
>>> h = r.run_lines(h, ['curve_info']) # doctest: +ELLIPSIS, +REPORT_UDIFF
name: 20100504144209_unfold
path: .../test/data/vclamp_wtk/unfold/20100504/20100504144209_unfold
-experiment: <class 'hooke.experiment.VelocityClamp'>
+experiment: <hooke.experiment.VelocityClamp object at 0x...>
driver: <hooke.driver.wtk.WTKDriver object at 0x...>
filetype: wtk
note: None
+command stack: []
blocks: 2
block sizes: [(810, 2), (8001, 2)]
Success