[SCM] morituri/master: Add testcase to show that previous commit fixes #19.

js at users.alioth.debian.org js at users.alioth.debian.org
Sun Oct 19 20:10:09 UTC 2014


The following commit has been merged in the master branch:
commit debd48d3e6cf8f5f0d6b42771c3ed5296092ef23
Author: Thomas Vander Stichele <thomas (at) apestaart (dot) org>
Date:   Tue Jul 30 13:37:32 2013 +0200

    Add testcase to show that previous commit fixes #19.

diff --git a/morituri/common/mbngs.py b/morituri/common/mbngs.py
index f84f101..31a8883 100644
--- a/morituri/common/mbngs.py
+++ b/morituri/common/mbngs.py
@@ -106,6 +106,10 @@ def _record(record, which, name, what):
 #     'sort-name': 'Blackie and the Oohoos',
 #     'id': '028a9dc7-f5ef-43c2-866b-08d69ffff363',
 #     'name': 'Blackie & the Oohoos'}}]
+# or
+# [{'artist':
+#    {'sort-name': 'Pixies',
+#     'id': 'b6b2bb8d-54a9-491f-9607-7b546023b433', 'name': 'Pixies'}}]
 
 
 class _Credit(list):
@@ -160,25 +164,18 @@ def _getMetadata(releaseShort, release, discid):
 
     discMD.releaseType = releaseShort.get('release-group', {}).get('type')
     discCredit = _Credit(release['artist-credit'])
-    # example:
-    # [{'artist':
-    #    {'sort-name': 'Pixies',
-    #     'id': 'b6b2bb8d-54a9-491f-9607-7b546023b433', 'name': 'Pixies'}}]
 
-    # FIXME: we should only use discArtist for determining VA; remove other
-    # uses
-    discArtist = discCredit[0]['artist']
+    # FIXME: is there a better way to check for VA ?
+    discMD.various = False
+    if discCredit[0]['artist']['id'] == VA_ID:
+        discMD.various = True
+
 
     if len(discCredit) > 1:
         log.debug('mbngs', 'artist-credit more than 1: %r', discCredit)
 
     albumArtistName = discCredit.getName()
 
-    # FIXME: is there a better way to check for VA ?
-    discMD.various = False
-    if discArtist['id'] == VA_ID:
-        discMD.various = True
-
     # getUniqueName gets disambiguating names like Muse (UK rock band)
     discMD.artist = albumArtistName
     discMD.sortName = discCredit.getSortName()
diff --git a/morituri/test/Makefile.am b/morituri/test/Makefile.am
index 1b5b8d4..22bac66 100644
--- a/morituri/test/Makefile.am
+++ b/morituri/test/Makefile.am
@@ -37,8 +37,9 @@ EXTRA_DIST = \
 	release.08397059-86c1-463b-8ed0-cd596dbd174f.xml \
 	release.93a6268c-ddf1-4898-bf93-fb862b1c5c5e.xml \
 	release.c7d919f4-3ea0-4c4b-a230-b3605f069440.xml \
-	morituri.release.a76714e0-32b1-4ed4-b28e-f86d99642193.json \
 	morituri.release.3451f29c-9bb8-4cc5-bfcc-bd50104b94f8.json \
+	morituri.release.a76714e0-32b1-4ed4-b28e-f86d99642193.json \
+	morituri.release.61c6fd9b-18f8-4a45-963a-ba3c5d990cae.json \
 	morituri.release.e32ae79a-336e-4d33-945c-8c5e8206dbd3.json \
 	kanye.cue \
 	kings-separate.cue \
diff --git a/morituri/test/morituri.release.61c6fd9b-18f8-4a45-963a-ba3c5d990cae.json b/morituri/test/morituri.release.61c6fd9b-18f8-4a45-963a-ba3c5d990cae.json
new file mode 100644
index 0000000..de8f5d8
--- /dev/null
+++ b/morituri/test/morituri.release.61c6fd9b-18f8-4a45-963a-ba3c5d990cae.json
@@ -0,0 +1 @@
+{"release": {"status": "Official", "asin": "B008R78K1Y", "label-info-list": [{"label": {"sort-name": "Brownswood Recordings", "id": "6483a614-d00f-42b0-af39-a602b3ce5daa", "name": "Brownswood Recordings"}, "catalog-number": "BWOOD090CD"}], "title": "Mala in Cuba", "country": "GB", "barcode": "5060180321505", "artist-credit": [{"artist": {"sort-name": "Mala", "id": "09f221eb-c97e-4da5-ac22-d7ab7c555bbb", "name": "Mala"}}], "medium-list": [{"disc-list": [{"id": "u0aKVpO.59JBy6eQRX2vYcoqQZ0-", "sectors": "257868"}], "position": "1", "track-list": [{"recording": {"artist-credit": [{"artist": {"sort-name": "Mala", "id": "09f221eb-c97e-4da5-ac22-d7ab7c555bbb", "name": "Mala"}}], "length": "155000", "artist-credit-phrase": "Mala", "id": "3fa9c442-6ae7-4242-ae3b-0150a3002da4", "title": "Introduction"}, "position": "1"}, {"recording": {"artist-credit": [{"artist": {"sort-name": "Mala", "id": "09f221eb-c97e-4da5-ac22-d7ab7c555bbb", "name": "Mala"}}], "length": "195626", "artist-credit-phrase": "Mala", "id": "983ad5e0-c52e-459d-8828-85718ceff2cc", "title": "Mulata"}, "position": "2"}, {"recording": {"artist-credit": [{"artist": {"sort-name": "Mala", "id": "09f221eb-c97e-4da5-ac22-d7ab7c555bbb", "name": "Mala"}}], "length": "242826", "artist-credit-phrase": "Mala", "id": "6855abf0-32a3-4fe2-a3fb-858f3157d42b", "title": "Tribal"}, "position": "3"}, {"recording": {"artist-credit": [{"artist": {"sort-name": "Mala", "id": "09f221eb-c97e-4da5-ac22-d7ab7c555bbb", "name": "Mala"}}], "length": "263760", "artist-credit-phrase": "Mala", "id": "2f938885-94ad-4b11-b251-f18c3a2a5fa9", "title": "Changuito"}, "position": "4"}, {"recording": {"artist-credit": [{"artist": {"sort-name": "Mala", "id": "09f221eb-c97e-4da5-ac22-d7ab7c555bbb", "name": "Mala"}}], "length": "274520", "artist-credit-phrase": "Mala", "id": "a5ecfa15-06d0-44cf-a28e-c748e8270488", "title": "Revolution"}, "position": "5"}, {"recording": {"artist-credit": [{"artist": {"sort-name": "Mala", "id": "09f221eb-c97e-4da5-ac22-d7ab7c555bbb", "name": "Mala"}}, " feat. ", {"artist": {"sort-name": "Dreiser", "id": "ec07a209-55ff-4084-bc41-9d4d1764e075", "name": "Dreiser"}}, " & ", {"artist": {"sort-name": "Sexto Sentido", "id": "f626b92e-07b1-4a19-ad13-c09d690db66c", "name": "Sexto Sentido"}}], "length": "227800", "artist-credit-phrase": "Mala feat. Dreiser & Sexto Sentido", "id": "cfb3ddaf-584c-4c86-b58c-752c63977bb8", "title": "Como como"}, "position": "6"}, {"recording": {"artist-credit": [{"artist": {"sort-name": "Mala", "id": "09f221eb-c97e-4da5-ac22-d7ab7c555bbb", "name": "Mala"}}], "length": "276693", "artist-credit-phrase": "Mala", "id": "90da8ada-21e2-4e7b-ab46-ff04004a3d84", "title": "Cuba Electronic"}, "position": "7"}, {"recording": {"artist-credit": [{"artist": {"sort-name": "Mala", "id": "09f221eb-c97e-4da5-ac22-d7ab7c555bbb", "name": "Mala"}}], "length": "267973", "artist-credit-phrase": "Mala", "id": "2bf67b46-30f5-4746-ab91-4c9675221a21", "title": "The Tunnel"}, "position": "8"}, {"recording": {"artist-credit": [{"artist": {"sort-name": "Mala", "id": "09f221eb-c97e-4da5-ac22-d7ab7c555bbb", "name": "Mala"}}], "length": "246000", "artist-credit-phrase": "Mala", "id": "0cd61fa9-a97a-41e3-b3c3-db36f633b611", "title": "Ghost"}, "position": "9"}, {"recording": {"artist-credit": [{"artist": {"sort-name": "Mala", "id": "09f221eb-c97e-4da5-ac22-d7ab7c555bbb", "name": "Mala"}}], "length": "250000", "artist-credit-phrase": "Mala", "id": "136989e9-f24f-4872-9026-1487869cc8de", "title": "Curfew"}, "position": "10"}, {"recording": {"artist-credit": [{"artist": {"sort-name": "Mala", "id": "09f221eb-c97e-4da5-ac22-d7ab7c555bbb", "name": "Mala"}}], "length": "174000", "artist-credit-phrase": "Mala", "id": "26b6fd89-7021-4239-b6a7-76eca8c0515a", "title": "The Tourist"}, "position": "11"}, {"recording": {"artist-credit": [{"artist": {"sort-name": "Mala", "id": "09f221eb-c97e-4da5-ac22-d7ab7c555bbb", "name": "Mala"}}], "length": "270733", "artist-credit-phrase": "Mala", "id": "62f7a892-f63b-4a2b-866f-db2a36533f8c", "title": "Change"}, "position": "12"}, {"recording": {"artist-credit": [{"artist": {"sort-name": "Mala", "id": "09f221eb-c97e-4da5-ac22-d7ab7c555bbb", "name": "Mala"}}], "length": "251853", "artist-credit-phrase": "Mala", "id": "4395c91a-d5e9-4fe4-92d2-deee3e0ebb5a", "title": "Calle F"}, "position": "13"}, {"recording": {"artist-credit": [{"artist": {"sort-name": "Mala", "id": "09f221eb-c97e-4da5-ac22-d7ab7c555bbb", "name": "Mala"}}, " feat. ", {"artist": {"sort-name": "Suarez, Danay", "id": "82f04998-7da8-4259-aa7f-d623e6ea2b91", "name": "Danay Suarez"}}], "length": "338000", "artist-credit-phrase": "Mala feat. Danay Suarez", "id": "e47a4fd9-8359-4a33-add8-e8c690e59055", "title": "Noche sue\u00f1os"}, "position": "14"}], "format": "CD"}], "text-representation": {"language": "eng", "script": "Latn"}, "date": "2012-09-17", "artist-credit-phrase": "Mala", "quality": "normal", "id": "61c6fd9b-18f8-4a45-963a-ba3c5d990cae"}}
\ No newline at end of file
diff --git a/morituri/test/test_common_mbngs.py b/morituri/test/test_common_mbngs.py
index 830f7bd..6777bcc 100644
--- a/morituri/test/test_common_mbngs.py
+++ b/morituri/test/test_common_mbngs.py
@@ -48,7 +48,7 @@ class MetadataTestCase(unittest.TestCase):
         self.assertEquals(track16.mbidArtist,
             u'57c6f649-6cde-48a7-8114-2a200247601a'
             ';0bfba3d3-6a04-4779-bb0a-df07df5b0558'
-            )
+        )
         self.assertEquals(track16.sortName,
             u'Jones, Tom & Stereophonics')
 
@@ -83,3 +83,36 @@ class MetadataTestCase(unittest.TestCase):
         self.assertEquals(track12.mbidArtist,
             u'd51f3a15-12a2-41a0-acfa-33b5eae71164;'
             'a9126556-f555-4920-9617-6e013f8228a7')
+
+    def testMalaInCuba(self):
+        # single artist disc, but with multiple artists tracks
+        # see https://github.com/thomasvs/morituri/issues/19
+        path = os.path.join(os.path.dirname(__file__),
+            'morituri.release.61c6fd9b-18f8-4a45-963a-ba3c5d990cae.json')
+        handle = open(path, "rb")
+        response = json.loads(handle.read())
+        handle.close()
+        discid = "u0aKVpO.59JBy6eQRX2vYcoqQZ0-"
+
+        metadata = mbngs._getMetadata({}, response['release'], discid)
+
+        self.assertEquals(metadata.artist, u'Mala')
+        self.assertEquals(metadata.sortName, u'Mala')
+        self.assertEquals(metadata.release, u'2012-09-17')
+        self.assertEquals(metadata.mbidArtist,
+            u'09f221eb-c97e-4da5-ac22-d7ab7c555bbb')
+
+        self.assertEquals(len(metadata.tracks), 14)
+
+        track6 = metadata.tracks[5]
+
+        self.assertEquals(track6.artist, u'Mala feat. Dreiser & Sexto Sentido')
+        self.assertEquals(track6.sortName,
+            u'Mala feat. Dreiser & Sexto Sentido')
+        self.assertEquals(track6.mbidArtist,
+            u'09f221eb-c97e-4da5-ac22-d7ab7c555bbb'
+            ';ec07a209-55ff-4084-bc41-9d4d1764e075'
+            ';f626b92e-07b1-4a19-ad13-c09d690db66c'
+        )
+
+

-- 
morituri packaging



More information about the pkg-multimedia-commits mailing list