Commit Graph

130 Commits

Author SHA1 Message Date
Thomas Vander Stichele
142fa9e33e create index with the correct path by using sources 2013-08-24 02:38:39 +02:00
Thomas Vander Stichele
73a7056d85 handle index 00 of track 1 specially 2013-08-24 02:38:39 +02:00
Thomas Vander Stichele
f11672fd3d add a Source object, but don't use it yet 2013-08-24 02:38:39 +02:00
Thomas Vander Stichele
7118555a7f add doc 2013-08-24 02:38:39 +02:00
Thomas Vander Stichele
1271ccea18 Set start and length properly on File 2013-08-24 02:38:39 +02:00
Thomas Vander Stichele
879dd7f946 reset relative offset on SILENCE/ZERO 2013-08-24 02:38:39 +02:00
Thomas Vander Stichele
330b2dcb6c make track/index debug uniform 2013-03-05 17:07:36 +01:00
Thomas Vander Stichele
307db4f59f update logging; bump classVersion of Table
now table will get a logName set correctly when unpickled too
2013-03-05 16:59:38 +01:00
Thomas Vander Stichele
55a2325e1e add debugging, comments and documentation 2013-03-01 18:50:43 +01:00
Thomas Vander Stichele
e3b168c2a1 key on musicbrainz disc id by default
Do not use cache if the mb disc id does not match the table cache value.

Fixes asserts on the mb disc id differing.

Fixes trac ticket 103.
2013-02-03 22:20:00 +01:00
Thomas Vander Stichele
7b42cbf93b add debug 2013-02-03 20:57:32 +01:00
Thomas Vander Stichele
4a24671bce better debugging when sampleLength is claimed unknown 2013-01-18 19:36:38 +01:00
Thomas Vander Stichele
99936325ae rename frame to sample to avoid confusion with cd frames 2013-01-18 19:30:13 +01:00
Thomas Vander Stichele
20cb0b3180 debug better 2013-01-18 19:24:09 +01:00
Thomas Vander Stichele
cba7dbe41a pep8 fixes 2012-11-29 19:54:46 +00:00
Thomas Vander Stichele
55df17cf89 * morituri/image/cue.py:
* morituri/image/table.py:
	* morituri/image/toc.py:
	  Fix pychecker warnings.
2012-11-23 15:36:27 +00:00
Thomas Vander Stichele
9b4e653ae4 * morituri/common/common.py:
* morituri/common/program.py:
	* morituri/image/table.py:
	* morituri/rip/cd.py:
	* morituri/test/test_common_common.py:
	* morituri/test/test_image_toc.py:
	  Handle cases where disc_template and track_template are not in
	  the same directory.
2012-11-22 23:20:44 +00:00
Thomas Vander Stichele
794a4c3f5c * morituri/common/common.py:
* morituri/image/cue.py:
	* morituri/image/toc.py:
	  factor out getRealPath
2012-11-19 08:56:17 +00:00
Thomas Vander Stichele
56f1de4c5c * morituri/image/toc.py:
* morituri/test/test_image_toc.py:
	  Add test for getRealPath.  Fix bug found by it for absolute paths.
2012-11-19 08:50:09 +00:00
Thomas Vander Stichele
76d587185d * morituri/image/table.py:
* morituri/test/test_image_table.py:
	* morituri/test/test_image_toc.py:
	  Increase coverage.
2012-11-18 16:20:21 +00:00
Thomas Vander Stichele
0fab4515c6 pep8 fixes 2012-11-11 23:00:37 +00:00
Thomas Vander Stichele
d757afe5b1 pep8 fixes 2012-11-11 22:36:06 +00:00
Thomas Vander Stichele
25d2bdf7b6 pep8 fixes 2012-11-11 22:32:31 +00:00
Thomas Vander Stichele
f4c79e4e26 pep8 fixes 2012-11-11 22:32:20 +00:00
Thomas Vander Stichele
a010dee24a pep8 fixes 2012-11-10 22:15:10 +00:00
Thomas Vander Stichele
090886bc45 pep8 fixes 2012-11-10 22:15:04 +00:00
Thomas Vander Stichele
df2cbc6b0f pep8 fixes 2012-11-10 22:14:43 +00:00
Thomas Vander Stichele
e617d40b47 * morituri.spec.in:
Spec fix.
	* morituri/image/image.py:
	  Log fix.
2012-01-21 18:04:00 +00:00
Thomas Vander Stichele
fb39764923 make things more loggable 2011-09-20 08:07:11 +00:00
Thomas Vander Stichele
367af25232 * TODO:
Add a note about das capital disc.
	* morituri/test/release.08397059-86c1-463b-8ed0-cd596dbd174f.xml:
	* morituri/test/release.93a6268c-ddf1-4898-bf93-fb862b1c5c5e.xml:
	  Add musicbrainz ws1 results for Das Capital and Ladyhawke.
	* morituri/test/test_common_program.py:
	  Fix typos.
	  Add tests for Ladyhawke and Das Capital duration and parsing.
	* morituri/test/test_image_table.py:
	  Fix according to new algorithm.
	* morituri/test/test_image_toc.py:
	  Get frame length for both cd's.
	* morituri/image/table.py:
	  Add getFrameLength method.  Fix up duration.
2011-08-14 14:19:50 +00:00
Thomas Vander Stichele
d43860bdfb * morituri/test/release.c7d919f4-3ea0-4c4b-a230-b3605f069440.xml:
Add release data for Bettie Serveert, Lamprey
	* morituri/test/test_common_program.py:
	  Add a test for parsing and getting the whole duration.
	* morituri/common/common.py:
	  Add a method to format time.
	* morituri/common/program.py:
	  Add duration to tracks and release metadatas.
	  When there are multiple matches, look up the closest in duration.
	  Make sure that multiple matches closest in duration contain same
	  artist and title.
	  Complain about the other ones.
	* morituri/image/table.py:
	  Add a method to calculate a duration from the table.
	* morituri/test/test_image_table.py:
	  Add a test for it.
2011-08-14 12:18:51 +00:00
Thomas Vander Stichele
8ec7bcbb9d * morituri/common/checksum.py:
* morituri/common/common.py:
	* morituri/common/encode.py:
	* morituri/image/image.py:
	* morituri/test/test_common_encode.py:
	  Moved quoteParse.
2011-08-05 19:18:10 +00:00
Thomas Vander Stichele
798a209195 * morituri/extern/task (added):
* morituri/extern/task/taskgtk.py (added):
	* morituri/extern/task/gstreamer.py (added):
	* morituri/extern/task/task.py (added):
	* morituri/common/taskgtk.py (deleted):
	* morituri/common/gstreamer.py (deleted):
	* morituri/common/task.py (deleted):
	  Move task-related modules into an extern directory so other
	  projects can use them.
	* morituri/common/checksum.py:
	* morituri/common/encode.py:
	* morituri/image/image.py:
	* morituri/program/cdparanoia.py:
	* morituri/program/cdrdao.py:
	* morituri/rip/cd.py:
	* morituri/rip/debug.py:
	* morituri/rip/image.py:
	* morituri/rip/main.py:
	* morituri/rip/offset.py:
	* morituri/test/test_common_checksum.py:
	* morituri/test/test_common_encode.py:
	* morituri/test/test_image_image.py:
	  Adapt.  Tests work.
2011-08-05 18:50:51 +00:00
Thomas Vander Stichele
48e3d7ca99 * morituri/image/image.py:
Actually set exception so MultiTask tells us what went wrong.
2011-05-24 10:41:54 +00:00
Thomas Vander Stichele
8771d439dc * morituri/common/gstreamer.py:
Add a cvar to stop going to playing.
	* morituri/image/image.py:
	  Convert AudioLengthTask to GstPipelineTask.
	* morituri/test/test_image_image.py:
	  Adapt to new typefind error we run in.
2011-05-24 10:27:06 +00:00
Thomas Vander Stichele
041a492f67 * morituri/image/table.py:
Extract one function to write a FILE line.
2011-05-22 17:17:33 +00:00
Thomas Vander Stichele
4c0036611e patch by: Ross Burton <ross@burtonini.com>
* morituri/image/table.py:
	  When writing the .cue file, only write the basename, since
	  the .cue file gets stored in the album directory.
	  Fixes #10.
2011-05-22 17:12:21 +00:00
Thomas Vander Stichele
965043dbf5 * morituri/common/gstreamer.py:
Remove unused imports.
	* morituri/image/image.py:
	  Remove halfbaked code.
2011-05-22 11:14:46 +00:00
Thomas Vander Stichele
6c2f3cc378 * morituri/common/checksum.py:
* morituri/image/image.py:
	* morituri/test/test_common_checksum.py:
	* morituri/common/gstreamer.py (added):
	  Factor out GstException and GstPipelineTask.
2011-05-21 17:01:19 +00:00
Thomas Vander Stichele
b797d40cce document 2011-05-21 16:42:11 +00:00
Thomas Vander Stichele
c301015537 * morituri/common/checksum.py:
* morituri/common/encode.py:
	* morituri/image/table.py:
	* morituri/rip/cd.py:
	* morituri/rip/image.py:
	* morituri/rip/offset.py:
	* morituri/test/test_common_accurip.py:
	* morituri/test/test_common_checksum.py:
	* morituri/test/test_image_cue.py:
	* morituri/test/test_image_table.py:
	  Pychecker fixes.
2011-05-21 11:50:39 +00:00
Thomas Vander Stichele
08fc4f67a6 * morituri/common/program.py:
* morituri/image/table.py:
	* morituri/rip/cd.py:
	  Get CDDB disc id.  Use it to print info when not found on
	  MusicBrainz.
2011-01-02 17:14:26 +00:00
Thomas Vander Stichele
5b965a757b * morituri/image/image.py:
Remove dead code.
2010-04-13 22:10:58 +00:00
Thomas Vander Stichele
297451ea0e * morituri/common/program.py:
Add a retagging command.
	  Add a getMusicBrainz() method.
	* morituri/rip/cd.py:
	  Use it.
	* morituri/image/image.py:
	  Add a task to retag an image.
	* morituri/rip/image.py:
	  Add a command to retag an image.
2010-04-13 21:57:29 +00:00
Thomas Vander Stichele
c34546d70a * morituri/image/table.py:
* morituri/program/cdparanoia.py:
	  Do some 80 character cleanups.
2010-04-09 16:20:41 +00:00
Thomas Vander Stichele
f978907fcf * morituri/common/task.py:
* morituri/image/cue.py:
	  Add logCategory.
	* morituri/image/image.py:
	  If subtasks had an exception, retrigger the exception and stop.
2010-04-05 23:31:34 +00:00
Thomas Vander Stichele
8ea1dc025d * morituri/image/image.py:
Fix AudioLengthTask for the case where we don't have the decoder,
	  by instead of doing get_state, waiting for an ASYNC_DONE or ERROR
	  message.  Properly raise a gst.GError in that case.
	* morituri/common/task.py:
	  Add some debug.
	* morituri/test/test_image_image.py:
	  After this fix, we now catch the TYPE_NOT_FOUND because of an
	  empty stream instead of the later gst.QueryError.
	* morituri/test/test_common_encode.py:
	  Let us know what it is if not a gst.QueryError.
2010-04-05 23:20:40 +00:00
Thomas Vander Stichele
3000f0a1e7 * morituri/common/common.py:
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.
2010-04-04 23:20:52 +00:00
Thomas Vander Stichele
22a3554381 * morituri/common/encode.py:
* morituri/common/program.py:
	* morituri/image/image.py:
	* morituri/program/cdparanoia.py:
	* morituri/rip/cd.py:
	* morituri/rip/image.py:
	* morituri/rip/offset.py:
	  Move all gst-using imports inside functions and classes
	  to avoid 'import gst' eating our options.
	  Fixes #12.
2010-04-04 19:29:49 +00:00
Thomas Vander Stichele
83027a710a apparently this can also throw indexerror 2009-12-09 17:37:41 +00:00