mirror of
https://github.com/fergalmoran/picard.git
synced 2026-02-19 06:03:59 +00:00
@@ -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))
|
||||
|
||||
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user