[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