Merge pull request #1402 from zas/tags_tidyup

Tags utils tidyup
This commit is contained in:
Laurent Monin
2019-12-09 15:57:14 +01:00
committed by GitHub
2 changed files with 85 additions and 80 deletions

View File

@@ -18,107 +18,111 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
TAG_NAMES = {
'album': N_('Album'),
'artist': N_('Artist'),
'title': N_('Title'),
'date': N_('Date'),
'originaldate': N_('Original Release Date'),
'originalyear': N_('Original Year'),
'albumartist': N_('Album Artist'),
'tracknumber': N_('Track Number'),
'totaltracks': N_('Total Tracks'),
'discnumber': N_('Disc Number'),
'totaldiscs': N_('Total Discs'),
'albumartistsort': N_('Album Artist Sort Order'),
'artistsort': N_('Artist Sort Order'),
'titlesort': N_('Title Sort Order'),
'albumsort': N_('Album Sort Order'),
'composersort': N_('Composer Sort Order'),
'asin': N_('ASIN'),
'grouping': N_('Grouping'),
'isrc': N_('ISRC'),
'mood': N_('Mood'),
'bpm': N_('BPM'),
'key': N_('Key'),
'copyright': N_('Copyright'),
'license': N_('License'),
'composer': N_('Composer'),
'writer': N_('Writer'),
'conductor': N_('Conductor'),
'lyricist': N_('Lyricist'),
'arranger': N_('Arranger'),
'producer': N_('Producer'),
'engineer': N_('Engineer'),
'subtitle': N_('Subtitle'),
'discsubtitle': N_('Disc Subtitle'),
'remixer': N_('Remixer'),
'musicbrainz_recordingid': N_('MusicBrainz Recording Id'),
'musicbrainz_trackid': N_('MusicBrainz Track Id'),
'musicbrainz_albumid': N_('MusicBrainz Release Id'),
'musicbrainz_artistid': N_('MusicBrainz Artist Id'),
'musicbrainz_albumartistid': N_('MusicBrainz Release Artist Id'),
'musicbrainz_workid': N_('MusicBrainz Work Id'),
'musicbrainz_releasegroupid': N_('MusicBrainz Release Group Id'),
'musicbrainz_discid': N_('MusicBrainz Disc Id'),
'musicip_puid': N_('MusicIP PUID'),
'musicip_fingerprint': N_('MusicIP Fingerprint'),
'acoustid_id': N_('AcoustID'),
'acoustid_fingerprint': N_('AcoustID Fingerprint'),
'discid': N_('Disc Id'),
'website': N_('Artist Website'),
'compilation': N_('Compilation (iTunes)'),
'acoustid_id': N_('AcoustID'),
'albumartist': N_('Album Artist'),
'albumartistsort': N_('Album Artist Sort Order'),
'album': N_('Album'),
'albumsort': N_('Album Sort Order'),
'arranger': N_('Arranger'),
'artist': N_('Artist'),
'artists': N_('Artists'),
'artistsort': N_('Artist Sort Order'),
'asin': N_('ASIN'),
'barcode': N_('Barcode'),
'bpm': N_('BPM'),
'catalognumber': N_('Catalog Number'),
'comment:': N_('Comment'),
'genre': N_('Genre'),
'compilation': N_('Compilation (iTunes)'),
'composer': N_('Composer'),
'composersort': N_('Composer Sort Order'),
'conductor': N_('Conductor'),
'copyright': N_('Copyright'),
'date': N_('Date'),
'discid': N_('Disc Id'),
'discnumber': N_('Disc Number'),
'discsubtitle': N_('Disc Subtitle'),
'djmixer': N_('DJ-Mixer'),
'encodedby': N_('Encoded By'),
'encodersettings': N_('Encoder Settings'),
'performer:': N_('Performer'),
'releasetype': N_('Release Type'),
'releasestatus': N_('Release Status'),
'releasecountry': N_('Release Country'),
'engineer': N_('Engineer'),
'genre': N_('Genre'),
'grouping': N_('Grouping'),
'isrc': N_('ISRC'),
'key': N_('Key'),
'label': N_('Record Label'),
'barcode': N_('Barcode'),
'catalognumber': N_('Catalog Number'),
'djmixer': N_('DJ-Mixer'),
'media': N_('Media'),
'lyrics': N_('Lyrics'),
'mixer': N_('Mixer'),
'language': N_('Language'),
'script': N_('Script'),
'~length': N_('Length'),
'~rating': N_('Rating'),
'artists': N_('Artists'),
'work': N_('Work'),
'license': N_('License'),
'lyricist': N_('Lyricist'),
'lyrics': N_('Lyrics'),
'media': N_('Media'),
'mixer': N_('Mixer'),
'mood': N_('Mood'),
'movement': N_('Movement'),
'movementnumber': N_('Movement Number'),
'movementtotal': N_('Movement Count'),
'showmovement': N_('Show Work & Movement'),
'originalartist': N_('Original Artist'),
'musicbrainz_originalartistid': N_('MusicBrainz Original Artist Id'),
'originalalbum': N_('Original Album'),
'musicbrainz_albumartistid': N_('MusicBrainz Release Artist Id'),
'musicbrainz_albumid': N_('MusicBrainz Release Id'),
'musicbrainz_artistid': N_('MusicBrainz Artist Id'),
'musicbrainz_discid': N_('MusicBrainz Disc Id'),
'musicbrainz_originalalbumid': N_('MusicBrainz Original Release Id'),
'musicbrainz_originalartistid': N_('MusicBrainz Original Artist Id'),
'musicbrainz_recordingid': N_('MusicBrainz Recording Id'),
'musicbrainz_releasegroupid': N_('MusicBrainz Release Group Id'),
'musicbrainz_trackid': N_('MusicBrainz Track Id'),
'musicbrainz_workid': N_('MusicBrainz Work Id'),
'musicip_fingerprint': N_('MusicIP Fingerprint'),
'musicip_puid': N_('MusicIP PUID'),
'originalalbum': N_('Original Album'),
'originalartist': N_('Original Artist'),
'originaldate': N_('Original Release Date'),
'originalyear': N_('Original Year'),
'performer:': N_('Performer'),
'producer': N_('Producer'),
'r128_album_gain': N_('R128 Album Gain'),
'r128_track_gain': N_('R128 Track Gain'),
'~rating': N_('Rating'),
'releasecountry': N_('Release Country'),
'releasestatus': N_('Release Status'),
'releasetype': N_('Release Type'),
'remixer': N_('Remixer'),
'replaygain_album_gain': N_('ReplayGain Album Gain'),
'replaygain_album_peak': N_('ReplayGain Album Peak'),
'replaygain_album_range': N_('ReplayGain Album Range'),
'replaygain_reference_loudness': N_('ReplayGain Reference Loudness'),
'replaygain_track_gain': N_('ReplayGain Track Gain'),
'replaygain_track_peak': N_('ReplayGain Track Peak'),
'replaygain_track_range': N_('ReplayGain Track Range'),
'replaygain_reference_loudness': N_('ReplayGain Reference Loudness'),
'r128_album_gain': N_('R128 Album Gain'),
'r128_track_gain': N_('R128 Track Gain'),
'script': N_('Script'),
'showmovement': N_('Show Work & Movement'),
'subtitle': N_('Subtitle'),
'title': N_('Title'),
'titlesort': N_('Title Sort Order'),
'totaldiscs': N_('Total Discs'),
'totaltracks': N_('Total Tracks'),
'tracknumber': N_('Track Number'),
'website': N_('Artist Website'),
'work': N_('Work'),
'writer': N_('Writer'),
}
PRESERVED_TAGS = [
"~bitrate", "~bits_per_sample", "~format", "~channels", "~sample_rate",
"~dirname", "~filename", "~extension", "~video",
]
PRESERVED_TAGS = (
'~bitrate',
'~bits_per_sample',
'~channels',
'~dirname',
'~extension',
'~filename',
'~format',
'~sample_rate',
'~video',
)
def display_tag_name(name):
desc = ''
if ':' in name:
name, desc = name.split(':', 1)
name = TAG_NAMES.get(name + ':', TAG_NAMES.get(name, name))
if desc:
return '%s [%s]' % (_(name), desc)
else:
return _(name)
if desc:
return '%s [%s]' % (_(TAG_NAMES.get(name, name)), desc)
return _(TAG_NAMES.get(name, name))

View File

@@ -114,6 +114,7 @@ class TagsTest(PicardTestCase):
self.assertEqual(dtn('tag'), 'tag')
self.assertEqual(dtn('tag:desc'), 'tag [desc]')
self.assertEqual(dtn('tag:'), 'tag')
self.assertEqual(dtn('tag:de:sc'), 'tag [de:sc]')
self.assertEqual(dtn('originalyear'), 'Original Year')
self.assertEqual(dtn('originalyear:desc'), 'Original Year [desc]')
self.assertEqual(dtn('~length'), 'Length')