diff --git a/picard/puidmanager.py b/picard/puidmanager.py index 910c18642..85a86b1e6 100644 --- a/picard/puidmanager.py +++ b/picard/puidmanager.py @@ -30,13 +30,13 @@ class PUIDManager(QtCore.QObject): def add(self, puid, trackid): """Add a PUID to the manager.""" if puid: - self.__puids[puid] = [trackid, trackid] + self.__puids[puid] = (trackid, trackid) self.__check_unsubmitted() def update(self, puid, trackid): """Update the PUID.""" if puid: - self.__puids[puid][1] = trackid + self.__puids[puid] = (self.__puids.get(puid, (None, None))[0], trackid) self.__check_unsubmitted() def __unsubmitted(self): @@ -66,7 +66,7 @@ class PUIDManager(QtCore.QObject): self.tagger.window.set_statusbar_message(N_('PUIDs successfully submitted!'), timeout=3000) for puid in puids.values(): try: - self.__puids[puid][1] = self.__puids[puid][0] + self.__puids[puid] = (self.__puids[puid][0], self.__puids[puid][0]) except KeyError: pass self.__check_unsubmitted() diff --git a/picard/tagger.py b/picard/tagger.py index ebaa69923..5492024c5 100644 --- a/picard/tagger.py +++ b/picard/tagger.py @@ -311,8 +311,7 @@ class Tagger(QtGui.QApplication): puid = file.metadata['musicip_puid'] trackid = file.metadata['musicbrainz_trackid'] albumid = file.metadata['musicbrainz_albumid'] - if puid and trackid: - self.puidmanager.add(puid, trackid) + self.puidmanager.add(puid, trackid) if albumid: if trackid: self.move_file_to_album(file, albumid) @@ -590,16 +589,16 @@ class Tagger(QtGui.QApplication): self.log.debug("Clustering %r", objs) if len(objs) <= 1: objs = [self.unmatched_files] + fcmp = lambda a, b: ( + cmp(a.discnumber, b.discnumber) or + cmp(a.tracknumber, b.tracknumber) or + cmp(a.base_filename, b.base_filename)) files = self.get_files_from_objects(objs) for name, artist, files in Cluster.cluster(files, 1.0): QtCore.QCoreApplication.processEvents() cluster = Cluster(name, artist) self.clusters.append(cluster) self.emit(QtCore.SIGNAL("cluster_added"), cluster) - fcmp = lambda a, b: ( - cmp(a.discnumber, b.discnumber) or - cmp(a.tracknumber, b.tracknumber) or - cmp(a.base_filename, b.base_filename)) for file in sorted(files, fcmp): file.move(cluster)