Commit Graph

452 Commits

Author SHA1 Message Date
Thomas Vander Stichele
59e8310135 * morituri/common/common.py:
Add a persisted cache so that we can store pickles on discs.
	  Automatically delete them if the class version is newer than
	  the object's.
	* morituri/rip/cd.py:
	  Use it.
2009-05-24 18:13:16 +00:00
Thomas Vander Stichele
feec95e768 * morituri/image/table.py:
Add a version ivar to help with versioning pickled objects.
2009-05-23 19:48:35 +00:00
Thomas Vander Stichele
85e9058594 * morituri/program/cdparanoia.py:
Add copy and test CRC's to object.
2009-05-23 19:47:58 +00:00
Thomas Vander Stichele
361a83dc27 * morituri/common/Makefile.am:
* morituri/common/drive.py (added):
	  Add drive module.
2009-05-23 18:24:39 +00:00
Thomas Vander Stichele
3f1ace2ce2 * morituri/program/cdparanoia.py:
* morituri/program/cdrdao.py:
	* morituri/rip/cd.py:
	* morituri/rip/offset.py:
	  Add device argument to ripping/scanning tasks.
2009-05-23 18:14:31 +00:00
Thomas Vander Stichele
7dfc1fbc6c * morituri/common/accurip.py:
* morituri/image/image.py:
	* morituri/test/Makefile.am:
	* morituri/test/test_image_image.py:
	* morituri/test/test_common_accurip.py (added):
	  Move accuraterip stuff to the accurip module.
	  Move/create new test file.
2009-05-23 18:14:11 +00:00
Thomas Vander Stichele
5f872bdaf8 * morituri/rip/Makefile.am:
* morituri/rip/main.py:
	* morituri/rip/drive.py (added):
	  Add 'rip drive list' command to list available drives.
	* morituri/common/accurip.py:
	  Add force.
	* morituri/rip/cd.py:
	  Add --output-directory argument.
2009-05-23 16:03:05 +00:00
Thomas Vander Stichele
9710e3cc7c * morituri/common/Makefile.am:
* morituri/rip/cd.py:
	* morituri/common/accurip.py (added):
	  Add a module for handling a cache of AccurateRip results.
	  Use it.
2009-05-23 13:38:44 +00:00
Thomas Vander Stichele
da8145798d * morituri/rip/Makefile.am:
* morituri/rip/main.py:
	* morituri/rip/cd.py (added):
	  Add second command, 'rip cd rip' before factoring out functionality.
2009-05-23 10:03:51 +00:00
Thomas Vander Stichele
9e3e1d53cb * morituri/rip/Makefile.am:
* morituri/rip/main.py:
	* morituri/rip/offset.py (added):
	  Add first command, 'rip offset find'
2009-05-23 09:00:03 +00:00
Thomas Vander Stichele
bc04d0336f * Makefile.am:
* morituri/test/Makefile.am:
	  Make distcheck work.
2009-05-23 08:13:33 +00:00
Thomas Vander Stichele
5f63551816 pychecker and docstring fixes 2009-05-23 07:49:48 +00:00
Thomas Vander Stichele
fa8239d1f5 * morituri/common/checksum.py:
More pychecker fixes.
2009-05-22 20:44:51 +00:00
Thomas Vander Stichele
713a5d14fd * morituri/common/common.py:
* morituri/common/renamer.py:
	  Pychecker fixes.
2009-05-22 20:29:09 +00:00
Thomas Vander Stichele
bd17f96022 * RELEASE:
* misc/pycheckerrc:
	* misc/show-coverage.py:
	* morituri/image/Makefile.am:
	* morituri/program/Makefile.am:
	* RELEASE (added):
	* morituri/image/Makefile.am (added):
	* morituri/program/Makefile.am (added):
	* misc/show-coverage.py (added):
	* misc/pycheckerrc (added):
	  more additions
2009-05-22 20:19:55 +00:00
Thomas Vander Stichele
a35b4d4a01 * AUTHORS:
* Makefile.am:
	* NEWS:
	* TODO:
	* autogen.sh:
	* configure.ac:
	* examples/ARcalibrate.py:
	* misc/Makefile.am:
	* misc/morituri-uninstalled:
	* morituri.spec.in:
	* morituri/Makefile.am:
	* morituri/common/Makefile.am:
	* morituri/common/logcommand.py:
	* morituri/extern/Makefile.am:
	* morituri/rip/Makefile.am:
	* morituri/rip/__init__.py:
	* morituri/rip/main.py:
	* morituri/test/Makefile:
	* morituri/test/Makefile.am:
	* configure.ac (added):
	* AUTHORS (added):
	* morituri.spec.in (added):
	* Makefile.am (added):
	* morituri/test/Makefile.am (added):
	* morituri/extern/Makefile.am (added):
	* morituri/common/logcommand.py (added):
	* morituri/common/Makefile.am (added):
	* morituri/Makefile.am (added):
	* morituri/rip (added):
	* morituri/rip/__init__.py (added):
	* morituri/rip/Makefile.am (added):
	* morituri/rip/main.py (added):
	* misc/Makefile.am (added):
	* misc/morituri-uninstalled (added):
	* autogen.sh (added):
	* NEWS (added):
	  Start autotooling.  Add a command-line application.
2009-05-22 20:08:16 +00:00
Thomas Vander Stichele
483c7b8a0c * morituri/program/cdrdao.py:
read all sessions by reading session 9.
	* morituri/image/toc.py:
	  Parse ZERO statements properly.
	  Also set absolute offsets when we know them from the .toc file.
	  Properly set audio flag on tracks.
	  FIXME: probably doesn't work if the .toc does not have lengths.
	* morituri/image/table.py:
	  Add some debug to cddb disc id calculation.
	  Fix absolutize function, it was going one index too far.
	  raise ValueError when overriding .absolute with a wrong value.
	* examples/readdisc.py:
	  Show CDDB disc id at the start.
	  Assert when toc and table have different disc id's (to be fixed)
	* morituri/test/test_image_cue.py:
	  Update for having the table already with absolute values.
	* morituri/test/test_image_toc.py:
	  Add Ladyhawke CDDB test, it has a data track.
2009-05-16 19:09:27 +00:00
Thomas Vander Stichele
b835f94ef1 * examples/readdisc.py:
Move constants to common
2009-05-16 10:27:10 +00:00
Thomas Vander Stichele
96ac69a13d * examples/readdisc.py:
* examples/readhtoa.py:
	* examples/readtoc.py:
	  Rename IndexTable to Table.
2009-05-16 09:51:03 +00:00
Thomas Vander Stichele
0a56fc129e * morituri/image/cue.py:
* morituri/image/image.py:
	* morituri/image/table.py:
	* morituri/image/toc.py:
	* morituri/program/cdparanoia.py:
	* morituri/program/cdrdao.py:
	* morituri/test/test_image_cue.py:
	* morituri/test/test_image_table.py:
	  Rename IndexTable to Table.
2009-05-16 09:31:38 +00:00
Thomas Vander Stichele
09fe46ee99 * morituri/image/cue.py:
* morituri/image/image.py:
	* morituri/image/table.py:
	* morituri/image/toc.py:
	* morituri/program/cdrdao.py:
	* morituri/test/test_image_cue.py:
	* morituri/test/test_image_table.py:
	  Rename ITTrack to Track.
2009-05-16 09:29:01 +00:00
Thomas Vander Stichele
22ee8651d6 * morituri/common/common.py:
* morituri/image/cue.py:
	  Use FRAMES_PER_SECOND where appropriate.
2009-05-16 09:24:24 +00:00
Thomas Vander Stichele
59cb5d0dcb * morituri/common/checksum.py:
* morituri/common/common.py:
	* morituri/image/image.py:
	* morituri/image/table.py:
	* morituri/program/cdparanoia.py:
	  Move constants to common
2009-05-16 09:21:55 +00:00
Thomas Vander Stichele
1a55ff8eaa * examples/readdisc.py:
Get our metadata only from the toc.
2009-05-16 09:01:37 +00:00
Thomas Vander Stichele
cc61a1d2dd * examples/readdisc.py:
Also work for discs without htoa.
2009-05-16 08:02:02 +00:00
Thomas Vander Stichele
be1780f658 * examples/readdisc.py:
Write .m3u file.
2009-05-16 07:31:52 +00:00
Thomas Vander Stichele
dc5f2ba75f * examples/readdisc.py:
Rip HTOA as well.  Add disc-template parameter.
2009-05-15 20:40:20 +00:00
Thomas Vander Stichele
dc9ac1c6e3 * morituri/image/table.py:
Fix a subtle bug in our CDDB disc id calculation.
	  The length of the audio should be calculated as the delta
	  between leadout and start already converted (and truncated)
	  to seconds.
	* morituri/test/bloc.cue:
	* morituri/test/test_image_toc.py:
	  Fix up tests for this.
2009-05-15 20:33:00 +00:00
Thomas Vander Stichele
e0ed33b1da * morituri/program/cdparanoia.py:
Fix up track counting so HTOA can be ripped again.
	* examples/readhtoa.py:
	  Fix up example so it works again, tested on Silent Alarm.
2009-05-15 19:42:08 +00:00
Thomas Vander Stichele
2962bd98f8 * morituri/test/test_image_toc.py:
* morituri/test/bloc.cue (added):
	  Add an expected .cue file for the bloc party toc.
2009-05-15 19:32:45 +00:00
Thomas Vander Stichele
f2ba07c729 * morituri/image/toc.py:
Calculate the leadout from the sum of the track lengths.
	* morituri/test/breeders.cue:
	* morituri/test/cure.cue:
	  Adapt expected results for DISCID.
	* morituri/image/table.py:
	  Add an assert for hasTOC() when doing .cue()
	* morituri/test/test_image_toc.py:
	* morituri/test/test_image_cue.py:
	  absolutize before cue()
2009-05-15 19:23:57 +00:00
Thomas Vander Stichele
e87dc1b471 * morituri/image/table.py:
Only add DISCID if our table is a TOC (which it isn't
	  with our current .toc file parsing)
	* morituri/test/test_image_cue.py:
	* morituri/test/test_image_toc.py:
	  Fix up tests; testsuite passes again.
2009-05-15 19:06:29 +00:00
Thomas Vander Stichele
2f384d32cd * morituri/image/toc.py:
Add some debugging.
2009-05-15 08:09:04 +00:00
Thomas Vander Stichele
5cae5cf60f * morituri/image/table.py:
Update .cue writing:
	  - customise program name
	  - add DISCID
	  - use counter for FILE lines
	  - put FILE line before TRACK if track does not have INDEX 00
	  Take counter into account for setFile
	* examples/readdisc.py:
	  Add --track-template.
	  Pass counter to setFile.
2009-05-15 08:08:22 +00:00
Thomas Vander Stichele
0c5373851f * morituri/image/table.py:
Add CDText writing to .cue() method.
	* morituri/image/toc.py:
	  Add CDText parsing.
	* morituri/test/test_image_toc.py:
	* morituri/test/breeders.cue (added):
	  Add a test for cue'ing the breeders' toc.
2009-05-14 08:55:08 +00:00
Thomas Vander Stichele
82db5d3b1d * morituri/image/table.py:
* morituri/image/toc.py:
	  Add parsing of ISRC codes.
	  Add first part of CDTEXT stuff.
	* morituri/test/test_image_toc.py:
	  Add test for converting .toc to .cue
	* morituri/test/cure.cue
	  Add reference for converted cure.toc
2009-05-14 08:21:28 +00:00
Thomas Vander Stichele
4040fafd3f * examples/readhtoa.py:
Fix example.
2009-05-10 14:51:29 +00:00
Thomas Vander Stichele
54d4cecd34 * morituri/image/table.py:
* morituri/test/test_image_table.py:
	  Correctly calculate MusicBrainz disc id for enhanced cd's.
2009-05-07 15:06:37 +00:00
Thomas Vander Stichele
36729a4bef * morituri/common/task.py:
Log on runners too.
	* morituri/program/cdrdao.py:
	  Abort if output has ERROR by killing and setting an exception.
2009-05-07 15:05:14 +00:00
Thomas Vander Stichele
18b13eb84f * examples/readdisc.py:
filter out slashes when deciding on file names.
2009-05-07 11:30:55 +00:00
Thomas Vander Stichele
e5ad3bde58 * morituri/common/task.py:
* morituri/image/image.py:
	  Remove prints.  Describe tasks.
2009-05-07 11:11:22 +00:00
Thomas Vander Stichele
c06814e139 * morituri/common/task.py:
Add an exception ivar for tasks to set an exception on while
	  running.  Make SyncRunner raise it during done()
	* morituri/program/cdparanoia.py:
	  Set an exception if the ripped file doesn't match the expected size
	  (for example when disc is full)
2009-05-07 09:19:41 +00:00
Thomas Vander Stichele
9fb4264934 * morituri/common/common.py:
Set the object when we don't persist.
	* examples/readdisc.py:
	  Small fixes.
2009-05-07 09:11:23 +00:00
Thomas Vander Stichele
75e8f0df5f * examples/readdisc.py:
Fix up cue file reading.
2009-05-06 21:58:57 +00:00
Thomas Vander Stichele
1485ef790c * examples/readdisc.py:
Add musicbrainz code for disc naming.
2009-05-06 21:45:12 +00:00
Thomas Vander Stichele
9b1fc33003 * morituri/image/table.py:
* morituri/image/toc.py:
	  Delete old code.
2009-05-06 08:55:28 +00:00
Thomas Vander Stichele
049496a8b1 * morituri/image/toc.py:
* morituri/test/test_image_toc.py:
	* morituri/test/test_program_cdrdao.py:
	  After careful vetting, fix up the expected values after toc parsing.
	  Fix (untested) INDEX handling.  Fix handling of START.
2009-05-05 22:40:26 +00:00
Thomas Vander Stichele
9992fb267f * morituri/image/table.py:
* morituri/test/test_image_table.py:
	  Implement MusicBrainz disc id.  Works for audio-only discs,
	  have to figure out why it fails for an Enhanced CD like the
	  Ladyhawke one.
2009-05-05 18:46:11 +00:00
Thomas Vander Stichele
2f464207db * morituri/image/table.py:
Add logging.
	  Add methods to clear a table of files, and to absolutize indexes
	  as long as the source is the same file, and to set a File on a
	  given index, adjusting all following indexes that match the
	  duration, and check if the IndexTable has all information for a TOC.
	* morituri/image/toc.py:
	  Add logging.
	  Use a counter for the source.
	  Fix up index offset calculation.
	* morituri/program/cdrdao.py:
	  Use a real IndexTable as the result, instead of a TocFile.
	* morituri/image/cue.py:
	  Use a real IndexTable to store tracks.
	* morituri/test/test_image_toc.py:
	  The toc file now has a table which has the tracks.
	  Fix the tests to adjust for wrong index calculations.
	* morituri/test/test_image_cue.py:
	* morituri/test/test_image_image.py:
	* morituri/image/image.py:
	  The cue file now has a table which has the tracks.
	* morituri/test/test_image_table.py:
	  Add assertions to make sure when the table can serve as a TOC.
	* examples/readdisc.py:
	  Adjust for changes.  Fix up to include AccurateRip results.
	  First time we can do a complete normal rip including verifying
	  against AccurateRip results!
2009-05-05 10:01:41 +00:00
Thomas Vander Stichele
a5d70dd317 * examples/readdisc.py:
* morituri/image/table.py:
	* morituri/test/test_image_table.py:
	  Fix up and deprecate stuff.
2009-05-04 23:10:39 +00:00