mirror of
https://github.com/fergalmoran/picard.git
synced 2025-12-24 02:09:56 +00:00
Add Work Tag ...
See http://forums.musicbrainz.org/viewtopic.php?pid=24929 for requirements discussion.
This commit is contained in:
@@ -128,6 +128,7 @@ class ASFFile(File):
|
||||
'djmixer': 'WM/DJMixer',
|
||||
'mixer': 'WM/Mixer',
|
||||
'artists': 'WM/ARTISTS',
|
||||
'work': 'WM/Work',
|
||||
}
|
||||
__RTRANS = dict([(b, a) for a, b in __TRANS.items()])
|
||||
|
||||
|
||||
@@ -157,6 +157,7 @@ class ID3File(File):
|
||||
'ASIN': 'asin',
|
||||
'MusicMagic Fingerprint': 'musicip_fingerprint',
|
||||
'Artists': 'artists',
|
||||
'Work': 'work',
|
||||
}
|
||||
__rtranslate_freetext = dict([(v, k) for k, v in __translate_freetext.iteritems()])
|
||||
|
||||
|
||||
@@ -100,6 +100,7 @@ class MP4File(File):
|
||||
"----:com.apple.iTunes:SCRIPT": "script",
|
||||
"----:com.apple.iTunes:LANGUAGE": "language",
|
||||
"----:com.apple.iTunes:ARTISTS": "artists",
|
||||
"----:com.apple.iTunes:WORK": "work",
|
||||
}
|
||||
__r_freeform_tags = dict([(v, k) for k, v in __freeform_tags.iteritems()])
|
||||
|
||||
|
||||
@@ -260,6 +260,8 @@ def work_to_metadata(work, m):
|
||||
m.add("musicbrainz_workid", work.attribs['id'])
|
||||
if 'language' in work.children:
|
||||
m.add_unique("language", work.language[0].text)
|
||||
if 'title' in work.children:
|
||||
m.add("work", work.title[0].text)
|
||||
if 'relation_list' in work.children:
|
||||
_relations_to_metadata(work.relation_list, m)
|
||||
|
||||
|
||||
@@ -87,6 +87,7 @@ TAG_NAMES = {
|
||||
'~length': N_('Length'),
|
||||
'~rating': N_('Rating'),
|
||||
'artists': N_('Artists'),
|
||||
'work': N_('Work'),
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -54,6 +54,7 @@ class TrackTest(unittest.TestCase):
|
||||
'relation_list': [XmlNode(attribs={'target_type': 'work'}, children={
|
||||
'relation': [XmlNode(attribs={'type': 'performance'}, children={
|
||||
'work': [XmlNode(attribs={'id': 'workid123'}, children={
|
||||
'title': [XmlNode(text='Bar')]
|
||||
'language': [XmlNode(text='eng')]
|
||||
})]
|
||||
})]
|
||||
@@ -83,6 +84,7 @@ class TrackTest(unittest.TestCase):
|
||||
self.assertEqual('Foo Bar & Baz', m['artist'])
|
||||
self.assertEqual('Bar, Foo & Baz', m['artistsort'])
|
||||
self.assertEqual('workid123', m['musicbrainz_workid'])
|
||||
self.assertEqual('Bar', m['work'])
|
||||
self.assertEqual('eng', m['language'])
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user