Commit Graph

76 Commits

Author SHA1 Message Date
Thomas Vander Stichele
0ebd8dc54b make logging work 2010-04-04 22:31:29 +00:00
Thomas Vander Stichele
c6d374bd16 * morituri/common/Makefile.am:
Add missing result.py
	* morituri/test/Makefile.am:
	* morituri/test/test_image_toc.py:
	* morituri/test/JoséGonzález.toc (added):
	* morituri/test/José González.toc (deleted):
	  automake doesn't handle spaces in names, so move it.
2010-03-15 15:16:14 +00:00
Thomas Vander Stichele
13936a6f11 adding test file 2009-10-17 12:50:13 +00:00
Thomas Vander Stichele
b3888a7017 finally fix whitespace 2009-09-26 15:07:12 +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
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
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
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
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
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
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
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
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
316eefbbd9 * morituri/test/common.py:
Add a method for diffing multiline strings.
2009-06-04 09:03:45 +00:00
Thomas Vander Stichele
262801e554 * morituri/rip/cd.py:
Add asserts for comparing id's between the simple toc and
	  the full table.
	  Create the output directory before ripping the htoa.
	  Ignore data tracks for now.
	  Don't fail if we have no AccurateRip responses.
	* morituri/image/table.py:
	  Add a session ivar to Track.
	  Factor in session leadin when calculating track length
	  of last track in a session.
	  add getMusicBrainzSubmitURL()
	  add _getSessionGap() because the session gap size is different
	  for session 2 and all following.
	  Use it in merge() to get offsets right.
	  Fix getAccurateRipURL by only using the audio tracks for the
	  'length in tracks' number
	  Temporarily disable writing out data tracks to a .cue file,
	  since it's not implemented yet.
	  Add canCue to see if we can write a .cue file from the given table,
	  and debug why not if not.
	* morituri/program/cdrdao.py:
	  Rework to rip each session separately instead of using session 9.
	  This fixes session 9 read-toc missing the pregap.
	  Add a simple LineParser for handling output from disk-info.
	  Count tracks relatively for the session, because the output for
	  session 2 for track numbers picks up where session 1 left off.
	  Don't set leadout from TOC printing since for the same reason
	  session 2's leadout is absolute, not relative to start of session.
	  Add a DiscInfoTask.
	  Convert Table and Toc reading tasks to multitasks, first getting the
	  number of sessions, then reading table/toc for each session.
	* morituri/test/test_image_table.py:
	  Fix up MusicBrainz disc id for my Ladyhawke disc.
	  Add AccurateRip URL verification, compared against EAC's.
	* morituri/test/test_image_toc.py:
	  Use two separate session read-toc output files to verify
	  the case of Das Capital.
	  Verify musicbrainz URL.
2009-05-25 14:59:45 +00:00
Thomas Vander Stichele
c793211f28 * morituri/test/capital.1.toc (added):
* morituri/test/capital.2.toc (added):
	  Add two .toc's for two sessions of a 2 session disc
	* morituri/image/table.py:
	  Add a merge method to merge in a second session.
	* morituri/test/Makefile.am:
	* morituri/test/test_image_toc.py:
	  Add a test for merging the Das Capital sessions, gets
	  the CDDB disc id right.
2009-05-24 21:30:21 +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
bc04d0336f * Makefile.am:
* morituri/test/Makefile.am:
	  Make distcheck work.
2009-05-23 08:13:33 +00:00
Thomas Vander Stichele
cf378f2cfa add test file 2009-05-23 07:55:22 +00:00
Thomas Vander Stichele
41c92fcda4 pychecker fixes 2009-05-22 20:44:10 +00:00
Thomas Vander Stichele
b137f6a3fd should not be in 2009-05-22 20:39:20 +00:00
Thomas Vander Stichele
e51d747a93 update for build 2009-05-22 20:39:11 +00:00
Thomas Vander Stichele
1450b77706 * 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:19:32 +00:00
Thomas Vander Stichele
6929f89478 add a test that doesn't work yet 2009-05-22 20:13:10 +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
2f43fe3a33 add toc file with two sessions for testing 2009-05-16 12:47:27 +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
df2182724d one more symbol 2009-05-16 09:25:42 +00:00
Thomas Vander Stichele
a30b42e143 add a test file 2009-05-16 09:10:41 +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
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
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
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
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
Thomas Vander Stichele
8e89b84c69 add test 2009-05-04 23:09:26 +00:00
Thomas Vander Stichele
c17a28d7ae * examples/movecue.py:
* examples/readcue.py:
	* morituri/image/cue.py:
	* morituri/image/image.py:
	* morituri/image/toc.py:
	* morituri/program/cdrdao.py:
	* morituri/test/test_image_cue.py:
	* morituri/test/test_image_toc.py:
	  Cue -> CueFile
	  TOC -> TocFile
2009-05-04 16:01:19 +00:00
Thomas Vander Stichele
d34f3683ec * morituri/program/cdrdao.py:
* morituri/test/test_program_cdrdao.py:
	  Fix up tests.  Use an IndexTable.
2009-05-04 12:28:12 +00:00
Thomas Vander Stichele
ffbda81f09 * morituri/program/cdrdao.py:
* morituri/test/test_program_cdrdao.py (added):
	  Split out the parser from the task.  Test the parser.
2009-05-04 09:23:35 +00:00
Thomas Vander Stichele
aee0a2f128 * morituri/program/cdrdao.py:
* morituri/test/test_program_cdrdao.py (added):
	  Split out the parser from the task.  Test the parser.
2009-05-04 09:23:22 +00:00
Thomas Vander Stichele
ced087291f add logging 2009-05-04 08:43:23 +00:00
Thomas Vander Stichele
22e81b4665 * morituri/image/cue.py:
* morituri/image/image.py:
	* morituri/image/table.py:
	* morituri/program/cdparanoia.py:
	* morituri/test/test_image_cue.py:
	  Move to using a shared IndexTable for everything.
	  Sadly mixed with a MultiTask rename.
2009-05-04 08:40:42 +00:00