Add an EmptyError.
* morituri/common/checksum.py:
Set it when we don't get any frames.
* morituri/rip/main.py:
Catch it and stop ripping if this happens.
add task argument to TaskRunner.schedule so we can get exceptions.
Add .schedule method to Task to pass self.
* morituri/common/checksum.py:
* morituri/common/encode.py:
* morituri/common/gstreamer.py:
* morituri/program/cdparanoia.py:
* morituri/program/cdrdao.py:
Adapt.
Actually raise the exception.
* morituri/common/task.py:
Document interface more clearly.
* morituri/test/test_common_checksum.py:
Use tcommon for test.common
Create a GstException to wrap a Gst.GError.
Create a base GstPipelineTask class.
Use it in Checksum and TRM tasks.
Raise and don't proceed to call .paused() when a GstError happens.
Should help debug https://bugs.launchpad.net/bugs/735053
* morituri/test/test_common_checksum.py:
Adapt test.
Style fixes.
* morituri/common/common.py:
Add functions to convert a gst.TagList to a dict and compare them.
* morituri/common/task.py:
Add setAndRaiseException which gives us an appropriate
exceptionMessage as if we raised where we called this new function.
add quoteParse function to quote properly for gst.parse_launch()
* morituri/common/checksum.py:
Fix single quote problem.
use self.setException()
* morituri/common/encode.py:
Fix single quote problem.
* morituri/image/image.py:
Fix single quote problem.
Reraise gst.QueryError.
* morituri/test/test_common_encode.py:
* morituri/test/test_common_encode.py (added):
Add tests for unicode/single/double quote.
* morituri/test/test_image_image.py:
* morituri/test/test_common_checksum.py:
Add tests for single/double quote.
* morituri/test/common.py:
add twisted-like failUnlessRaises to TestCase that returns
the exception, so we can check wrapped exceptions in TaskException.
Note unicode handling.
* morituri/test/test_image_image.py:
* morituri/image/table.py:
* morituri/program/cdparanoia.py:
* morituri/common/checksum.py:
Use unicode for paths.
Use repr for path representation.
* morituri/test/test_common_checksum.py:
Add test for unicode audio file name.
* morituri/test/Makefile.am:
* morituri/test/test_common_checksum.py (added):
Add a check to make sure that checksumming an empty file doesn't
hang. Fix the hang.
Add a 'described' method so listeners can get proper notification
of description changes, and update their description in between
progress changes.
Add a MultiCombinedTask that reports on progress over all tasks
combined.
* examples/trm.py:
Add a playlist option to the example. Still needs to store results
to pickles, preferably after each completed task.
* morituri/common/checksum.py:
Add audioconvert to make sure we can trm ogg files.
Add a task to calculate a trm fingerprint.
* examples/trm.py (added):
Add an example.
Strangely enough it starts burstily, doing 10% directly, halting,
then progressing quickly,
* morituri/image/toc.py:
* morituri/common/checksum.py (added):
* morituri/common/crc.py (deleted):
Rename crc to checksum, because AccurateRip checksums are not CRC's.