diff --git a/picard/mbxml.py b/picard/mbxml.py index 2dbe5caeb..185ba5fb1 100644 --- a/picard/mbxml.py +++ b/picard/mbxml.py @@ -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) diff --git a/picard/metadata.py b/picard/metadata.py index db46361b5..0fce6c07c 100644 --- a/picard/metadata.py +++ b/picard/metadata.py @@ -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()