Commit Graph

213 Commits

Author SHA1 Message Date
Thomas Vander Stichele
fe68f676c9 * morituri/image/image.py:
Add ImageEncodeTask to encode a disk image to a different profile
	  and directory.
	* morituri/common/encode.py:
	  Add lossy encoding profiles for mp3 and vorbis.
	  Rename muxer to tagger since that's what we use it for.
	  Do progress probe after level to make sure we get samples for
	  offsets.
	* morituri/rip/image.py:
	  Add rip image encode command.
2009-10-17 13:53:58 +00:00
Thomas Vander Stichele
13936a6f11 adding test file 2009-10-17 12:50:13 +00:00
Thomas Vander Stichele
757c3aba15 * morituri/common/task.py:
Add exceptionMessage on Task to store the result of
	  log.getExceptionMessage when the stack is still valid.
2009-10-16 21:39:19 +00:00
Thomas Vander Stichele
e61e7bc37c * configure.ac:
Back to TRUNK.
2009-09-26 15:54:34 +00:00
Thomas Vander Stichele
da7925b4e3 releasing 0.1.0 2009-09-26 15:17:54 +00:00
Thomas Vander Stichele
5cf823a640 * morituri/program/cdparanoia.py:
explicitize keyword args.
	  Break some 80+ lines.
2009-09-19 11:58:33 +00:00
Thomas Vander Stichele
2fc5623330 * morituri/rip/offset.py:
Pass device parameter to ReadTrackTask.  Thanks to Alex B for
	  spotting this on my blog.
2009-09-19 11:58:14 +00:00
Thomas Vander Stichele
ce7b5762f7 * morituri/program/cdparanoia.py:
* morituri/rip/offset.py:
	  Another unicode fix.
2009-09-12 17:23:39 +00:00
Thomas Vander Stichele
dfa3efe662 * HACKING:
More unicode notes.
	* morituri/common/program.py:
	* morituri/image/table.py:
	* morituri/image/toc.py:
	* morituri/result/result.py:
	* morituri/rip/cd.py:
	* morituri/test/test_image_toc.py:
	  Further unicode fixes, for options, CD-Text, paths, ...
2009-09-11 22:16:46 +00:00
Thomas Vander Stichele
d30eb59a66 * morituri/program/cdrdao.py:
Wrap read in an exception handler.
	* morituri/common/task.py:
	  Debug exceptions more.
2009-09-11 15:41:51 +00:00
Thomas Vander Stichele
e6f13ccf84 * HACKING:
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.
2009-09-11 15:40:44 +00:00
Thomas Vander Stichele
9a15e890e0 * morituri/image/cue.py:
* morituri/image/toc.py:
	* morituri/test/test_image_cue.py:
	* morituri/test/test_image_toc.py:
	  Read input file as utf-8.  Fix logging of paths.
	* morituri/image/image.py:
	  Document and add asserts for unicodeness of paths.
	  Encode path in launch lines as utf-8
2009-09-11 15:37:02 +00:00
Thomas Vander Stichele
ac9d8f194d * morituri/common/task.py:
Make SyncRunner wrap start() so we correctly handle any
	  exception being thrown.
2009-09-11 12:08:02 +00:00
Thomas Vander Stichele
d9530cb82a * morituri/common/checksum.py:
* 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.
2009-09-11 11:48:17 +00:00
Thomas Vander Stichele
51027d3d2a * morituri.spec.in:
Add pycdio as requirement.
2009-09-08 21:29:10 +00:00
Thomas Vander Stichele
f5f1811881 * morituri/common/program.py:
Fix getting AccurateRip results for albums with a HTOA.
	* morituri/test/Makefile.am:
	* morituri/test/test_common_program.py:
	* morituri/test/silentalarm.result.pickle (added):
	  Add testcase for it, Bloc Party's Silent Alarm.
2009-09-07 18:57:14 +00:00
Thomas Vander Stichele
ff5a534da7 * morituri.spec.in:
Update requirements to work around known bugs.
2009-09-07 18:56:32 +00:00
Thomas Vander Stichele
2efcb21a63 * morituri/rip/cd.py:
Fix warning against rebuilt package.
2009-09-06 18:04:21 +00:00
Thomas Vander Stichele
402c3c019a * README:
Fix up dependencies.
	* morituri.spec.in:
	  Fix dependencies and noarch install location.
	* morituri/common/Makefile.am:
	  Add result.py to dist
2009-09-06 17:08:17 +00:00
Thomas Vander Stichele
c0ec17d188 * configure.ac:
* m4/Makefile.am:
	* m4/as-ac-expand.m4 (added):
	  Correctly set installation dir for noarch python files so that it
	  works on 64 bit.
2009-09-06 17:07:40 +00:00
Thomas Vander Stichele
6df7313dc4 * morituri/program/cdrdao.py:
Parse version number.
	* morituri/rip/cd.py:
	  Warn about cdrdao versions with a bug.
	* morituri/test/test_program_cdrdao.py:
	  Test that we can parse the version.
2009-09-05 22:06:02 +00:00
Thomas Vander Stichele
e61a10266d * morituri/program/cdrdao.py:
Handle errors.  Tested by not having a CD in the drive.
2009-07-02 20:36:35 +00:00
Thomas Vander Stichele
b9bc3ba154 * morituri/common/task.py:
Document better.
	  Create an ITaskListener interface where we can document.
	  Log some more.
2009-07-02 20:34:50 +00:00
Thomas Vander Stichele
1e063f08a7 * morituri/test/test_common_program.py:
* morituri/common/program.py:
	  Extract a common method to get textual representation of
	  AccurateRip results, and test it.
	* morituri/rip/cd.py:
	* morituri/rip/image.py:
	  Use the method.
2009-06-24 20:47:44 +00:00
Thomas Vander Stichele
d57cb7ad15 * morituri/image/table.py:
Fix deprecationwarning for python 2.6
2009-06-24 19:18:41 +00:00
Thomas Vander Stichele
0d3651ab12 * morituri/test/test_common_program.py (added):
* morituri/common/program.py:
	  Break verifyImage into two so we can test it.
	  Test it using an AccurateRip result for Luke Haines Is Dead
	  which had a wrongly ripped track 10.
2009-06-24 18:40:27 +00:00
Thomas Vander Stichele
0b80eaaa9d * morituri/result/result.py:
Document some more.
2009-06-24 16:34:47 +00:00
Thomas Vander Stichele
6e3e0a7218 * morituri/test/Makefile.am:
* morituri/test/dBAR-020-002e5023-029d8e49-040eaa14.bin (added):
	  Add AR result for Luke Haines Is Dead disc 1
2009-06-24 16:31:48 +00:00
Thomas Vander Stichele
1643d1ec50 * Makefile.am:
* misc/pycheckerrc:
	* morituri/common/accurip.py:
	* morituri/common/checksum.py:
	* morituri/common/encode.py:
	* morituri/image/table.py:
	* morituri/rip/drive.py:
	  Fix up for pychecker warnings for 2.6
	  Fix rip drive list, which forgot some modules.
2009-06-20 10:57:12 +00:00
Thomas Vander Stichele
efdc830893 * morituri/rip/main.py:
* morituri/rip/image.py (added):
	  Add command to verify an image.
	* morituri/common/program.py:
	* morituri/rip/cd.py:
	  Fix AccurateRip checksum output.
2009-06-16 21:09:27 +00:00
Thomas Vander Stichele
10375235da * morituri/common/drive.py:
Really make pycdio and cdio optional.
	* morituri/rip/drive.py:
	* morituri/rip/offset.py:
	  Use drive.getAllDevicePaths()
2009-06-16 19:27:18 +00:00
Thomas Vander Stichele
d17829c36a * morituri/result/result.py:
Add max confidence from database.
	* morituri/common/program.py:
	* morituri/rip/cd.py:
	  Move AccurateRip checking to program.py
	  Re-rip if verification failed when continuing a rip.
2009-06-15 07:07:41 +00:00
Thomas Vander Stichele
7beb4e5041 * morituri/image/cue.py:
Better debug.
2009-06-15 07:06:21 +00:00
Thomas Vander Stichele
1efa2d7b20 * morituri/common/program.py:
* morituri/rip/cd.py:
	  Serialize the rip result after every rip, so we can pick up
	  where we left off with all result data.
2009-06-09 19:39:59 +00:00
Thomas Vander Stichele
2d892291a8 * morituri/common/program.py:
Move getPath to Program.
	  Remove arguments to ripTrack that can be gotten from
	  trackResult.
	* morituri/rip/cd.py:
	  Continue without musicbrainz metadata.
	  Unify htoa and normal track ripping.
	* morituri/result/result.py:
	  Add getTrackResult so it's easier to look up track results
	  when there's a HTOA.
2009-06-07 17:10:54 +00:00
Thomas Vander Stichele
df779bc8df * morituri/common/program.py:
* morituri/rip/cd.py:
	  Move HTOA checking to program.
2009-06-07 16:06:58 +00:00
Thomas Vander Stichele
a460abc475 * morituri/result/logger.py:
Fix for toctable->table
	* morituri/common/program.py:
	* morituri/rip/cd.py:
	  Move lots of functionality to program module.
2009-06-07 15:22:55 +00:00
Thomas Vander Stichele
28c2a47d62 * morituri/result/result.py:
Change toctable to table since it's a full index table.
	* morituri/common/Makefile.am:
	* morituri/common/program.py (added):
	  Add module and class for program state.
	* morituri/rip/cd.py:
	  Use the program state to clean up the do() function.
2009-06-07 14:20:30 +00:00
Thomas Vander Stichele
662c14cf6f * morituri/rip/cd.py:
Massage into 80 characters per line.
	  Make pycdio/cdio optional.
2009-06-07 13:37:54 +00:00
Thomas Vander Stichele
64d241808a * morituri/rip/drive.py:
Make pycdio and cdio optional.
2009-06-07 13:34:41 +00:00
Thomas Vander Stichele
8f88db0a29 * morituri/image/table.py:
Add getPregap() method.
	* morituri/rip/cd.py:
	  Use artist.name, not getUniqueName, to avoid monstruous names for
	  Muse.
	  Pass mbdiscid to getPath, so Unknown Disc can be saved with it.
	  Don't set the date if the release doesn't have one.
	  Set pregap on trackResult using new Track.getPregap()
	  Write all log/cue/m3u files as utf-8.
2009-06-07 12:54:32 +00:00
Thomas Vander Stichele
8ef93523e4 * morituri/test/cdparanoia.progress:
Add a shorter test file, 23 seconds.
	* morituri/test/test_program_cdparanoia.py:
	  Update the test to adapt.  Check for track quality.
	* morituri/program/cdparanoia.py:
	  Add a measure of track quality based on the number of reads.
	  Use the [wrote] output for progress updates, a bit more
	  jittery in its output.
	* morituri/rip/cd.py:
	  Set track quality on RipResult.
2009-06-06 11:16:41 +00:00
Thomas Vander Stichele
03cb3b0880 * morituri/rip/cd.py:
Use RipResult to store result information.
	* morituri/result/logger.py (added):
	  Add a Logger to handle the RipResult, much like
	  EAC's log file.
2009-06-05 09:47:03 +00:00
Thomas Vander Stichele
c7a423bb24 * morituri/rip/cd.py:
Comment out number of track setting on tag for now.
	  MusicBrainz can give us dates in YYYY, YYYY-MM, and YYYY-MM-DD
	  format, so convert to YYYY-MM-DD always.
	  Unmount the data part of the CD we want to rip if it is mounted.
	  Adapt to peak level change.
	  Don't try to write data tracks to the m3u file.
	  Resolve the device path to the actual device path.
2009-06-05 09:44:08 +00:00
Thomas Vander Stichele
b63777ea62 * morituri/result/result.py:
Add a Logger base class.
2009-06-05 09:39:48 +00:00
Thomas Vander Stichele
9a26d7f6a4 * configure.ac:
* morituri/Makefile.am:
	* morituri/result (added):
	* morituri/result/result.py (added):
	* morituri/result/__init__.py (added):
	* morituri/result/Makefile.am (added):
	  Add classes to store track and rip results in.
2009-06-05 07:57:54 +00:00
Thomas Vander Stichele
3883205ed1 * morituri/common/common.py:
Add an argument for the delimiter in formatting.
	* morituri/common/encode.py:
	  Most programs use peak volume, not power, so do this too.
2009-06-04 09:04:19 +00:00
Thomas Vander Stichele
316eefbbd9 * morituri/test/common.py:
Add a method for diffing multiline strings.
2009-06-04 09:03:45 +00:00
Thomas Vander Stichele
192d0739c5 * morituri/common/encode.py:
Add a test() method to the profile so we can warn about bad
	  flacenc versions.
	  Encode track number and count, and release date, if possible.
	* morituri/rip/cd.py:
	  Fix another off-by-one error in the tag encoding.
2009-06-01 22:42:32 +00:00
Thomas Vander Stichele
2b17b8e912 * morituri/program/cdparanoia.py:
* morituri/rip/cd.py:
	  Handle another off-by-one error in the m3u handling.
	  Add a getTagList function.
	  Use it to encode tags.
2009-06-01 12:53:14 +00:00