From 5586fcee671029e85683012034f137d9d4f05658 Mon Sep 17 00:00:00 2001 From: Adrian Sampson Date: Tue, 20 Jan 2015 15:11:13 -0800 Subject: [PATCH] keyfinder: Only write on import when asked to This should really be standard machinery. --- beetsplug/keyfinder.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/beetsplug/keyfinder.py b/beetsplug/keyfinder.py index 9ce81f36e..280710f02 100644 --- a/beetsplug/keyfinder.py +++ b/beetsplug/keyfinder.py @@ -20,6 +20,7 @@ import subprocess from beets import ui from beets import util from beets.plugins import BeetsPlugin +from beets import config class KeyFinderPlugin(BeetsPlugin): @@ -31,8 +32,9 @@ class KeyFinderPlugin(BeetsPlugin): u'auto': True, u'overwrite': False, }) - self.config['auto'].get(bool) - self.import_stages = [self.imported] + + if self.config['auto'].get(bool): + self.import_stages = [self.imported] def commands(self): cmd = ui.Subcommand('keyfinder', @@ -41,13 +43,13 @@ class KeyFinderPlugin(BeetsPlugin): return [cmd] def command(self, lib, opts, args): - self.find_key(lib.items(ui.decargs(args))) + self.find_key(lib.items(ui.decargs(args)), + write=config['import']['write'].get(bool)) def imported(self, session, task): - if self.config['auto'].get(bool): - self.find_key(task.items) + self.find_key(task.items) - def find_key(self, items): + def find_key(self, items, write=False): overwrite = self.config['overwrite'].get(bool) bin = util.bytestring_path(self.config['bin'].get(unicode)) @@ -64,5 +66,7 @@ class KeyFinderPlugin(BeetsPlugin): item['initial_key'] = key self._log.debug(u'added computed initial key {0} for {1}', key, util.displayable_path(item.path)) - item.try_write() + + if write: + item.try_write() item.store()