Only store one identical language (PICARD-242).

Can happen if a recording is linked to >=2 works with the same language.
Fixup 835fa46.
This commit is contained in:
Johannes Weißl
2012-08-11 13:56:36 +02:00
parent 835fa46c85
commit 0d7e0d6864
2 changed files with 5 additions and 1 deletions

View File

@@ -252,7 +252,7 @@ def recording_to_metadata(node, track, config):
def work_to_metadata(work, m, config):
m.add("musicbrainz_workid", work.attribs['id'])
if 'language' in work.children:
m.add("language", work.language[0].text)
m.add_unique("language", work.language[0].text)
if 'relation_list' in work.children:
_relations_to_metadata(work.relation_list, m, config)

View File

@@ -199,6 +199,10 @@ class Metadata(object):
if value or value == 0:
self._items.setdefault(name, []).append(value)
def add_unique(self, name, value):
if value not in self.getall(name):
self.add(name, value)
def keys(self):
return self._items.keys()