[SCM] morituri/master: add getIds and use it to set correct ids

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 ead648feef34979272931b737cc9881911fd9c5b
Author: Thomas Vander Stichele <thomas (at) apestaart (dot) org>
Date:   Tue Jul 30 13:09:56 2013 +0200

    add getIds and use it to set correct ids

diff --git a/morituri/common/mbngs.py b/morituri/common/mbngs.py
index 1fca73e..6f8b460 100644
--- a/morituri/common/mbngs.py
+++ b/morituri/common/mbngs.py
@@ -114,14 +114,17 @@ class _Credit(list):
     or track.
     """
 
-    def joiner(self, attributeGetter):
+    def joiner(self, attributeGetter, joinString=None):
         res = []
 
         for item in self:
             if isinstance(item, dict):
                 res.append(attributeGetter(item))
             else:
-                res.append(item)
+                if not joinString:
+                    res.append(item)
+                else:
+                    res.append(joinString)
 
         return "".join(res)
 
@@ -132,6 +135,10 @@ class _Credit(list):
     def getName(self):
         return self.joiner(lambda i: i.get('artist').get('name', None))
 
+    def getIds(self):
+        return self.joiner(lambda i: i.get('artist').get('id', None),
+            joinString=";")
+
 
 def _getMetadata(releaseShort, release, discid):
     """
@@ -165,7 +172,7 @@ def _getMetadata(releaseShort, release, discid):
 
     albumArtistName = credit.getName()
 
-    # FIXME: is there a better way to check for VA
+    # FIXME: is there a better way to check for VA ?
     discMD.various = False
     if discArtist['id'] == VA_ID:
         discMD.various = True
@@ -180,7 +187,7 @@ def _getMetadata(releaseShort, release, discid):
         discMD.release = release['date']
 
     discMD.mbid = release['id']
-    discMD.mbidArtist = discArtist['id']
+    discMD.mbidArtist = credit.getIds()
     discMD.url = 'http://musicbrainz.org/release/' + release['id']
 
     discMD.barcode = release.get('barcode', None)
diff --git a/morituri/test/test_common_mbngs.py b/morituri/test/test_common_mbngs.py
index 0350429..89b2d2e 100644
--- a/morituri/test/test_common_mbngs.py
+++ b/morituri/test/test_common_mbngs.py
@@ -65,9 +65,9 @@ class MetadataTestCase(unittest.TestCase):
         self.assertEquals(metadata.sortName,
             u'Campbell, Isobel & Lanegan, Mark')
         self.assertEquals(metadata.release, u'2006-01-30')
-        # FIXME: this is only Isobel
         self.assertEquals(metadata.mbidArtist,
-            u'd51f3a15-12a2-41a0-acfa-33b5eae71164')
+            u'd51f3a15-12a2-41a0-acfa-33b5eae71164;'
+            'a9126556-f555-4920-9617-6e013f8228a7')
 
         self.assertEquals(len(metadata.tracks), 12)
 

-- 
morituri packaging



More information about the pkg-multimedia-commits mailing list