Added release format type to release selection. Fixes ticket #3074

This commit is contained in:
Philipp Wolfer
2008-04-02 19:57:47 +02:00
parent 05e3305d0f
commit dff14b94de
5 changed files with 28 additions and 2 deletions

View File

@@ -42,7 +42,7 @@ _TRANSLATE_TAGS = {
class ReleaseEvent(object):
ATTRS = ['date', 'releasecountry', 'label', 'barcode', 'catalognumber']
ATTRS = ['date', 'releasecountry', 'label', 'barcode', 'catalognumber', 'format']
def __init__(self):
for attr in self.ATTRS:
@@ -379,12 +379,13 @@ class Album(DataObject, Item):
else:
track.update()
def add_release_event(self, date=None, releasecountry=None, label=None, barcode=None, catalognumber=None):
def add_release_event(self, date=None, releasecountry=None, label=None, barcode=None, catalognumber=None, format=None):
rel = ReleaseEvent()
rel.date = date
rel.releasecountry = releasecountry
rel.label = label
rel.barcode = barcode
rel.catalognumber = catalognumber
rel.format = format
self.release_events.append(rel)
return rel

View File

@@ -35,6 +35,24 @@ AMAZON_STORE_ASSOCIATE_IDS = {
# MusicDNS client ID
MUSICDNS_KEY = "0736ac2cd889ef77f26f6b5e3fb8a09c"
# Release formats
RELEASE_FORMATS = {
u'CD': N_('CD'),
u'DVD': N_('DVD'),
u'SACD': N_('SACD'),
u'LaserDisc': N_('LaserDisc'),
u'MiniDisc': N_('MiniDisc'),
u'Vinyl': N_('Vinyl'),
u'Cassette': N_('Cassette'),
u'Cartridge': N_('Cartridge (4/8-tracks)'),
u'ReelToReel': N_('Reel-to-Reel'),
u'DAT': N_('DAT'),
u'Digital': N_('Digital Media'),
u'WaxCylinder': N_('Wax Cylinder'),
u'PianoRoll': N_('Piano Roll'),
u'Other': N_('Other'),
}
# Release countries
RELEASE_COUNTRIES = {
u'BD': N_('Bangladesh'),

View File

@@ -167,6 +167,8 @@ def release_to_metadata(node, m, config=None, album=None):
except (AttributeError, IndexError): pass
try: args['label'] = relevent.label[0].name[0].text
except (AttributeError, IndexError): pass
try: args['format'] = relevent.format
except (AttributeError, IndexError): pass
if album:
rel = album.add_release_event(**args)
elif name == 'track_list':

View File

@@ -27,6 +27,7 @@ from picard.track import Track
from picard.util import encode_filename, icontheme, partial
from picard.config import Option, TextOption
from picard.plugin import ExtensionPoint
from picard.const import RELEASE_FORMATS
class BaseAction(QtGui.QAction):
@@ -309,6 +310,9 @@ class BaseTreeView(QtGui.QTreeWidget):
name.append(rel.label)
if rel.catalognumber:
name.append(rel.catalognumber)
if rel.format:
try: name.append(RELEASE_FORMATS[rel.format])
except (KeyError): name.append(rel.format)
action = releases_menu.addAction(" / ".join(name))
action.setData(QtCore.QVariant(i))
action.setCheckable(True)

View File

@@ -66,6 +66,7 @@ tag_names = {
'label': N_('Record Label'),
'barcode': N_('Barcode'),
'catalognumber': N_('Catalog Number'),
'format': N_('Format'),
'djmixer': N_('DJ-Mixer'),
'media': N_('Media'),
'lyrics:': N_('Lyrics'),