From a584014bcd0e6ba11704b566868bc4985ad6c5d9 Mon Sep 17 00:00:00 2001 From: sbuser Date: Fri, 12 Aug 2011 20:27:05 -0500 Subject: [PATCH] Added a try/except block so the post-processor continues when it finds a file that beets/mutagen can't parse. It should probably fail post-processing here but I'm not sure about the best way to do that. Without the try block the post-processor (automatic) just dies without comment after "Writing Metadata" - the force would show an error but the auto would just silently die. --- headphones/postprocessor.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/headphones/postprocessor.py b/headphones/postprocessor.py index 19b1c7b5..92496278 100644 --- a/headphones/postprocessor.py +++ b/headphones/postprocessor.py @@ -356,7 +356,10 @@ def correctMetadata(albumid, release, downloaded_track_list): logger.info('Writing metadata') items = [] for downloaded_track in downloaded_track_list: - items.append(beets.library.Item.from_path(downloaded_track)) + try: + items.append(beets.library.Item.from_path(downloaded_track)) + except Exception, e: + logger.error("Beets couldn't create an Item from: " + downloaded_track + " - not a media file?" + str(e)) cur_artist, cur_album, out_tuples, rec = autotag.tag_album(items, search_artist=release['ArtistName'], search_album=release['AlbumTitle']) @@ -383,6 +386,7 @@ def renameFiles(albumpath, downloaded_track_list, release): try: f = MediaFile(downloaded_track) except: + logger.info("MediaFile couldn't parse: " + downloaded_track) continue if not f.track: