* 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.
This commit is contained in:
Thomas Vander Stichele
2011-08-14 12:18:51 +00:00
parent e95d7a159b
commit d43860bdfb
7 changed files with 183 additions and 3 deletions

View File

@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- gotten from get "http://www.musicbrainz.org/ws/1/release/c7d919f4-3ea0-4c4b-a230-b3605f069440?type=xml&inc=tracks+release-events+artist"
-->
<metadata xmlns="http://musicbrainz.org/ns/mmd-1.0#" >
<release type="Album Official" id="c7d919f4-3ea0-4c4b-a230-b3605f069440">
<title>Lamprey</title><text-representation script="Latn" language="ENG" />
<asin>B00000581T</asin>
<artist id="89e4aade-fc77-4a18-8d0c-3554cc9b8c54">
<name>Bettie Serveert</name><sort-name>Bettie Serveert</sort-name>
</artist>
<track-list>
<track id="a89c2320-1eae-4f2d-8b0e-6dfac4ae1451">
<title>Keepsake</title><duration>378693</duration>
</track>
<track id="730df656-f504-4866-b5d0-c59ee01524a3">
<title>Ray Ray Rain</title><duration>262106</duration>
</track>
<track id="62ff731e-3cec-4f7c-a614-72adb062fd6c">
<title>D. Feathers</title><duration>332626</duration>
</track>
<track id="e2702c6e-1dae-4a5d-ab16-aed1be105f94">
<title>Re-Feel-It</title><duration>238240</duration>
</track>
<track id="8bc5865e-6286-4cf2-83c8-94061cf4e25f">
<title>21 Days</title><duration>203826</duration>
</track>
<track id="484f7bc6-51bd-44dd-bac6-b8218602d3f0">
<title>Cybor*D</title><duration>241800</duration>
</track>
<track id="e0f2ce29-392e-499d-8ff9-f573e01fb3dc">
<title>Tell Me, Sad</title><duration>318333</duration>
</track>
<track id="a6d4d047-fef8-41f8-88c0-ed077de875a8">
<title>Crutches</title><duration>292373</duration>
</track>
<track id="8a05d376-b09f-4f92-b0d4-10cf177df0f3">
<title>Something So Wild</title><duration>171466</duration>
</track>
<track id="8b3402bd-aa83-4c01-961b-8fd01cf47228">
<title>Totally Freaked Out</title><duration>250893</duration>
</track>
<track id="b5628295-f5be-438e-ae89-6213666fd552">
<title>Silent Spring</title><duration>272533</duration>
</track>
</track-list>
<release-event-list>
<event country="US" format="CD" date="1995-04-16" barcode="075679250421" catalog-number="OLE-121-2" />
</release-event-list>
</release>
</metadata>

View File

@@ -110,3 +110,17 @@ class PathTestCase(unittest.TestCase):
self.assertEquals(path,
u'/tmp/Jeff Buckley/Grace')
class MetadataLengthTestCase(unittest.TestCase):
def testLamprey(self):
from musicbrainz2 import wsxml
path = os.path.join(os.path.dirname(__file__),
'release.c7d919f4-3ea0-4c4b-a230-b3605f069440.xml')
handle = open(path, "rb")
reader = wsxml.MbXmlParser()
wsMetadata = reader.parse(handle)
release = wsMetadata.getRelease()
metadata = progam.getMetadata(release)
self.assertEquals(metadata.duration, 2962889)

View File

@@ -52,6 +52,9 @@ class LadyhawkeTestCase(tcommon.TestCase):
self.assertEquals(self.table.getAccurateRipURL(),
"http://www.accuraterip.com/accuraterip/a/5/d/dBAR-012-0013bd5a-00b8d489-c60af50d.bin")
def testDuration(self):
self.assertEquals(self.table.duration(), 2609413)
class MusicBrainzTestCase(tcommon.TestCase):
# example taken from http://musicbrainz.org/doc/DiscIDCalculation
# disc is Ettella Diamant