Always add PUIDs to the PUID manager, even if we don't know the track ID.

This commit is contained in:
Lukáš Lalinský
2007-05-26 16:18:17 +02:00
parent 121d48a115
commit ce7f60acac
2 changed files with 8 additions and 9 deletions

View File

@@ -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()

View File

@@ -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)