From 9c1aff8e9ad249a3e43c12fd39185ccd513cdd09 Mon Sep 17 00:00:00 2001 From: Michael Wiencek Date: Sun, 11 Dec 2011 15:36:00 -0600 Subject: [PATCH] Refreshing albums that couldn't load causes them to vanish --- picard/album.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/picard/album.py b/picard/album.py index 1c5b62c4d..63e10bb94 100644 --- a/picard/album.py +++ b/picard/album.py @@ -20,7 +20,7 @@ import traceback from collections import deque -from PyQt4 import QtCore +from PyQt4 import QtCore, QtNetwork from picard.metadata import Metadata, run_album_metadata_processors, run_track_metadata_processors from picard.dataobj import DataObject from picard.file import File @@ -122,15 +122,19 @@ class Album(DataObject, Item): if error: self.log.error("%r", unicode(http.errorString())) # Fix for broken NAT releases - files = list(self.unmatched_files.files) - for file in files: - trackid = file.metadata["musicbrainz_trackid"] - if mbid_validate(trackid) and file.metadata["album"] == self.config.setting["nat_name"]: - self.tagger.move_file_to_nat(file, trackid) - self.tagger.nats.update() - if not self.get_num_unmatched_files(): - self.tagger.remove_album(self) - error = False + if error == QtNetwork.QNetworkReply.ContentNotFoundError: + nats = False + nat_name = self.config.setting["nat_name"] + files = list(self.unmatched_files.files) + for file in files: + trackid = file.metadata["musicbrainz_trackid"] + if mbid_validate(trackid) and file.metadata["album"] == nat_name: + nats = True + self.tagger.move_file_to_nat(file, trackid) + self.tagger.nats.update() + if nats and not self.get_num_unmatched_files(): + self.tagger.remove_album(self) + error = False else: try: parsed = self._parse_release(document)