From 3549f9785cdb2ac0ffb36a9e93c9c94fc5ec6755 Mon Sep 17 00:00:00 2001 From: Adrian Sampson Date: Sat, 12 Apr 2014 11:22:11 -0700 Subject: [PATCH] keyfinder: handle errors in command execution --- beetsplug/keyfinder.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/beetsplug/keyfinder.py b/beetsplug/keyfinder.py index ecb0fe87c..61bb9d9f5 100644 --- a/beetsplug/keyfinder.py +++ b/beetsplug/keyfinder.py @@ -16,6 +16,7 @@ """ import logging +import subprocess from beets import ui from beets import util @@ -57,7 +58,13 @@ class KeyFinderPlugin(BeetsPlugin): for item in items: if item['initial_key'] and not overwrite: continue - key = util.command_output([bin, '-f', item.path]) + + try: + key = util.command_output([bin, '-f', item.path]) + except (subprocess.CalledProcessError, OSError) as exc: + log.error(u'KeyFinder execution failed: {0}'.format(exc)) + continue + item['initial_key'] = key log.debug('added computed initial key {0} for {1}' .format(key, util.displayable_path(item.path)))