Add option to ignore MBIDs when dragging in files (PICARD-56)

This commit is contained in:
Michael Wiencek
2011-11-28 03:02:21 -06:00
parent 203f4b0bf2
commit 398053a40f
4 changed files with 100 additions and 113 deletions

View File

@@ -301,15 +301,18 @@ class Tagger(QtGui.QApplication):
if file is not None and error is None and not file.has_error():
puid = file.metadata['musicip_puid']
trackid = file.metadata['musicbrainz_trackid']
albumid = file.metadata['musicbrainz_albumid']
self.puidmanager.add(puid, trackid)
if mbid_validate(albumid):
if mbid_validate(trackid):
self.move_file_to_track(file, albumid, trackid)
else:
self.move_file_to_album(file, albumid)
elif mbid_validate(trackid):
self.move_file_to_nat(file, trackid)
if not self.config.setting["ignore_file_mbids"]:
albumid = file.metadata['musicbrainz_albumid']
if mbid_validate(albumid):
if mbid_validate(trackid):
self.move_file_to_track(file, albumid, trackid)
else:
self.move_file_to_album(file, albumid)
elif mbid_validate(trackid):
self.move_file_to_nat(file, trackid)
elif self.config.setting['analyze_new_files']:
self.analyze([file])
elif self.config.setting['analyze_new_files']:
self.analyze([file])

View File

@@ -37,6 +37,7 @@ class GeneralOptionsPage(OptionsPage):
TextOption("setting", "username", ""),
PasswordOption("setting", "password", ""),
BoolOption("setting", "analyze_new_files", False),
BoolOption("setting", "ignore_file_mbids", False),
]
def __init__(self, parent=None):
@@ -54,6 +55,7 @@ class GeneralOptionsPage(OptionsPage):
self.ui.username.setText(self.config.setting["username"])
self.ui.password.setText(self.config.setting["password"])
self.ui.analyze_new_files.setChecked(self.config.setting["analyze_new_files"])
self.ui.ignore_file_mbids.setChecked(self.config.setting["ignore_file_mbids"])
def save(self):
self.config.setting["server_host"] = unicode(self.ui.server_host.currentText()).strip()
@@ -62,6 +64,7 @@ class GeneralOptionsPage(OptionsPage):
# trivially encode the password, just to not make it so apparent
self.config.setting["password"] = rot13(unicode(self.ui.password.text()))
self.config.setting["analyze_new_files"] = self.ui.analyze_new_files.isChecked()
self.config.setting["ignore_file_mbids"] = self.ui.ignore_file_mbids.isChecked()
register_options_page(GeneralOptionsPage)

View File

@@ -2,83 +2,75 @@
# Form implementation generated from reading ui file 'ui/options_general.ui'
#
# Created: Thu Sep 15 13:39:09 2011
# by: PyQt4 UI code generator 4.8.3
# Created: Mon Nov 28 02:35:54 2011
# by: PyQt4 UI code generator 4.8.5
#
# WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
_fromUtf8 = lambda s: s
class Ui_GeneralOptionsPage(object):
def setupUi(self, GeneralOptionsPage):
GeneralOptionsPage.setObjectName(_fromUtf8("GeneralOptionsPage"))
GeneralOptionsPage.setObjectName("GeneralOptionsPage")
GeneralOptionsPage.resize(338, 369)
self.vboxlayout = QtGui.QVBoxLayout(GeneralOptionsPage)
self.vboxlayout.setMargin(9)
self.vboxlayout.setSpacing(6)
self.vboxlayout.setObjectName(_fromUtf8("vboxlayout"))
self.vboxlayout.setObjectName("vboxlayout")
self.groupBox = QtGui.QGroupBox(GeneralOptionsPage)
self.groupBox.setObjectName(_fromUtf8("groupBox"))
self.groupBox.setObjectName("groupBox")
self.gridlayout = QtGui.QGridLayout(self.groupBox)
self.gridlayout.setMargin(9)
self.gridlayout.setSpacing(2)
self.gridlayout.setObjectName(_fromUtf8("gridlayout"))
self.gridlayout.setObjectName("gridlayout")
self.server_host = QtGui.QComboBox(self.groupBox)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Policy(7), QtGui.QSizePolicy.Policy(0))
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.server_host.sizePolicy().hasHeightForWidth())
self.server_host.setSizePolicy(sizePolicy)
self.server_host.setEditable(True)
self.server_host.setObjectName(_fromUtf8("server_host"))
self.server_host.setObjectName("server_host")
self.gridlayout.addWidget(self.server_host, 1, 0, 1, 1)
self.label_7 = QtGui.QLabel(self.groupBox)
self.label_7.setObjectName(_fromUtf8("label_7"))
self.label_7.setObjectName("label_7")
self.gridlayout.addWidget(self.label_7, 0, 1, 1, 1)
self.server_port = QtGui.QSpinBox(self.groupBox)
self.server_port.setMaximum(65535)
self.server_port.setMinimum(1)
self.server_port.setProperty(_fromUtf8("value"), 80)
self.server_port.setObjectName(_fromUtf8("server_port"))
self.server_port.setMaximum(65535)
self.server_port.setProperty("value", 80)
self.server_port.setObjectName("server_port")
self.gridlayout.addWidget(self.server_port, 1, 1, 1, 1)
self.label = QtGui.QLabel(self.groupBox)
self.label.setObjectName(_fromUtf8("label"))
self.label.setObjectName("label")
self.gridlayout.addWidget(self.label, 0, 0, 1, 1)
self.vboxlayout.addWidget(self.groupBox)
self.rename_files_2 = QtGui.QGroupBox(GeneralOptionsPage)
self.rename_files_2.setObjectName(_fromUtf8("rename_files_2"))
self.rename_files_2.setObjectName("rename_files_2")
self.gridlayout1 = QtGui.QGridLayout(self.rename_files_2)
self.gridlayout1.setMargin(9)
self.gridlayout1.setSpacing(2)
self.gridlayout1.setObjectName(_fromUtf8("gridlayout1"))
self.gridlayout1.setObjectName("gridlayout1")
self.username = QtGui.QLineEdit(self.rename_files_2)
self.username.setObjectName(_fromUtf8("username"))
self.username.setObjectName("username")
self.gridlayout1.addWidget(self.username, 1, 0, 1, 1)
self.label_5 = QtGui.QLabel(self.rename_files_2)
self.label_5.setObjectName(_fromUtf8("label_5"))
self.label_5.setObjectName("label_5")
self.gridlayout1.addWidget(self.label_5, 2, 0, 1, 1)
self.password = QtGui.QLineEdit(self.rename_files_2)
self.password.setEchoMode(QtGui.QLineEdit.Password)
self.password.setObjectName(_fromUtf8("password"))
self.password.setObjectName("password")
self.gridlayout1.addWidget(self.password, 3, 0, 1, 1)
self.label_6 = QtGui.QLabel(self.rename_files_2)
self.label_6.setObjectName(_fromUtf8("label_6"))
self.label_6.setObjectName("label_6")
self.gridlayout1.addWidget(self.label_6, 0, 0, 1, 1)
self.vboxlayout.addWidget(self.rename_files_2)
self.groupBox_2 = QtGui.QGroupBox(GeneralOptionsPage)
self.groupBox_2.setObjectName(_fromUtf8("groupBox_2"))
self.vboxlayout1 = QtGui.QVBoxLayout(self.groupBox_2)
self.vboxlayout1.setMargin(9)
self.vboxlayout1.setSpacing(2)
self.vboxlayout1.setObjectName(_fromUtf8("vboxlayout1"))
self.groupBox_2.setObjectName("groupBox_2")
self.verticalLayout = QtGui.QVBoxLayout(self.groupBox_2)
self.verticalLayout.setObjectName("verticalLayout")
self.analyze_new_files = QtGui.QCheckBox(self.groupBox_2)
self.analyze_new_files.setObjectName(_fromUtf8("analyze_new_files"))
self.vboxlayout1.addWidget(self.analyze_new_files)
self.analyze_new_files.setObjectName("analyze_new_files")
self.verticalLayout.addWidget(self.analyze_new_files)
self.ignore_file_mbids = QtGui.QCheckBox(self.groupBox_2)
self.ignore_file_mbids.setObjectName("ignore_file_mbids")
self.verticalLayout.addWidget(self.ignore_file_mbids)
self.vboxlayout.addWidget(self.groupBox_2)
spacerItem = QtGui.QSpacerItem(181, 21, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.vboxlayout.addItem(spacerItem)
@@ -100,4 +92,5 @@ class Ui_GeneralOptionsPage(object):
self.label_6.setText(_("Username:"))
self.groupBox_2.setTitle(_("General"))
self.analyze_new_files.setText(_("Automatically scan all new files"))
self.ignore_file_mbids.setText(_("Ignore MBIDs when loading new files"))

View File

@@ -1,7 +1,8 @@
<ui version="4.0" >
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>GeneralOptionsPage</class>
<widget class="QWidget" name="GeneralOptionsPage" >
<property name="geometry" >
<widget class="QWidget" name="GeneralOptionsPage">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
@@ -9,63 +10,52 @@
<height>369</height>
</rect>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<layout class="QVBoxLayout">
<item>
<widget class="QGroupBox" name="groupBox" >
<property name="title" >
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>MusicBrainz Server</string>
</property>
<layout class="QGridLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<layout class="QGridLayout">
<property name="spacing">
<number>2</number>
</property>
<item row="1" column="0" >
<widget class="QComboBox" name="server_host" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>7</hsizetype>
<vsizetype>0</vsizetype>
<item row="1" column="0">
<widget class="QComboBox" name="server_host">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="editable" >
<property name="editable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1" >
<widget class="QLabel" name="label_7" >
<property name="text" >
<item row="0" column="1">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Port:</string>
</property>
</widget>
</item>
<item row="1" column="1" >
<widget class="QSpinBox" name="server_port" >
<property name="maximum" >
<number>65535</number>
</property>
<property name="minimum" >
<item row="1" column="1">
<widget class="QSpinBox" name="server_port">
<property name="minimum">
<number>1</number>
</property>
<property name="value" >
<property name="maximum">
<number>65535</number>
</property>
<property name="value">
<number>80</number>
</property>
</widget>
</item>
<item row="0" column="0" >
<widget class="QLabel" name="label" >
<property name="text" >
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Server address:</string>
</property>
</widget>
@@ -74,43 +64,40 @@
</widget>
</item>
<item>
<widget class="QGroupBox" name="rename_files_2" >
<property name="title" >
<widget class="QGroupBox" name="rename_files_2">
<property name="title">
<string>Account Information</string>
</property>
<layout class="QGridLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<layout class="QGridLayout">
<property name="spacing">
<number>2</number>
</property>
<item row="1" column="0" >
<widget class="QLineEdit" name="username" />
<item row="1" column="0">
<widget class="QLineEdit" name="username"/>
</item>
<item row="2" column="0" >
<widget class="QLabel" name="label_5" >
<property name="text" >
<item row="2" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Password:</string>
</property>
<property name="buddy" >
<property name="buddy">
<cstring>password</cstring>
</property>
</widget>
</item>
<item row="3" column="0" >
<widget class="QLineEdit" name="password" >
<property name="echoMode" >
<item row="3" column="0">
<widget class="QLineEdit" name="password">
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
</widget>
</item>
<item row="0" column="0" >
<widget class="QLabel" name="label_6" >
<property name="text" >
<item row="0" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Username:</string>
</property>
<property name="buddy" >
<property name="buddy">
<cstring>username</cstring>
</property>
</widget>
@@ -119,33 +106,34 @@
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_2" >
<property name="title" >
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>General</string>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>2</number>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QCheckBox" name="analyze_new_files" >
<property name="text" >
<widget class="QCheckBox" name="analyze_new_files">
<property name="text">
<string>Automatically scan all new files</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="ignore_file_mbids">
<property name="text">
<string>Ignore MBIDs when loading new files</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer>
<property name="orientation" >
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" >
<property name="sizeHint" stdset="0">
<size>
<width>181</width>
<height>21</height>