From cf86948c138bf1e266d095b01c3c60f99bf55130 Mon Sep 17 00:00:00 2001 From: Ruud Date: Sun, 26 Aug 2012 15:42:26 +0200 Subject: [PATCH] Remove empty folder when found better quality. fix #735 --- couchpotato/core/plugins/renamer/main.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/couchpotato/core/plugins/renamer/main.py b/couchpotato/core/plugins/renamer/main.py index a2882ea..9a443ed 100644 --- a/couchpotato/core/plugins/renamer/main.py +++ b/couchpotato/core/plugins/renamer/main.py @@ -327,6 +327,11 @@ class Renamer(Plugin): try: if os.path.isfile(src): os.remove(src) + + parent_dir = os.path.normpath(os.path.dirname(src)) + if os.path.isdir(parent_dir) and destination != parent_dir: + self.deleteEmptyFolder(parent_dir, show_error = False) + except: log.error('Failed removing %s: %s', (src, traceback.format_exc())) self.tagDir(group, 'failed_remove') @@ -464,8 +469,9 @@ class Renamer(Plugin): def replaceDoubles(self, string): return string.replace(' ', ' ').replace(' .', '.') - def deleteEmptyFolder(self, folder): + def deleteEmptyFolder(self, folder, show_error = True): + loge = log.error if show_error else log.debug for root, dirs, files in os.walk(folder): for dir_name in dirs: @@ -474,9 +480,9 @@ class Renamer(Plugin): try: os.rmdir(full_path) except: - log.error('Couldn\'t remove empty directory %s: %s', (full_path, traceback.format_exc())) + loge('Couldn\'t remove empty directory %s: %s', (full_path, traceback.format_exc())) try: os.rmdir(folder) except: - log.error('Couldn\'t remove empty directory %s: %s', (folder, traceback.format_exc())) + loge('Couldn\'t remove empty directory %s: %s', (folder, traceback.format_exc()))