From 0c7fc8fb6b9f6c9113abfc74dec4a87b081f2b12 Mon Sep 17 00:00:00 2001 From: Adrian Sampson Date: Sun, 16 Nov 2014 19:55:27 -0800 Subject: [PATCH] Avoid double cleanup() call (#1091) Now we call cleanup() even for skipped tasks. Archive tasks need this; other tasks can ignore it. --- beets/importer.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/beets/importer.py b/beets/importer.py index b3d3e2a3d..0c53b8da7 100644 --- a/beets/importer.py +++ b/beets/importer.py @@ -498,24 +498,22 @@ class ImportTask(object): if session.config['incremental']: self.save_history() - if not self.skip: - self.cleanup(copy=session.config['copy'], - delete=session.config['delete'], - move=session.config['move']) - self._emit_imported(session.lib) + self.cleanup(copy=session.config['copy'], + delete=session.config['delete'], + move=session.config['move']) - if isinstance(self, ArchiveImportTask): - self.cleanup() + if not self.skip: + self._emit_imported(session.lib) def cleanup(self, copy=False, delete=False, move=False): """Remove and prune imported paths. """ # FIXME Maybe the keywords should be task properties. - # FIXME This shouldn't be here. Skipping should be handled in - # the stages. + # Do not delete any files or prune directories when skipping. if self.skip: return + items = self.imported_items() # When copying and deleting originals, delete old files.