diff --git a/couchpotato/core/plugins/base.py b/couchpotato/core/plugins/base.py index af314bf..5198b46 100644 --- a/couchpotato/core/plugins/base.py +++ b/couchpotato/core/plugins/base.py @@ -143,34 +143,22 @@ class Plugin(object): def deleteEmptyFolder(self, folder, show_error = True, only_clean = None): folder = sp(folder) - allowed_dirs = [] - if only_clean: - for item in os.listdir(folder): - full_path = os.path.join(folder, item) - if item in only_clean and os.path.isdir(full_path): - allowed_dirs.append(full_path) - - for root, dirs, files in os.walk(folder): - - for dir_name in dirs: - full_path = os.path.join(root, dir_name) - - if only_clean: - allow = False - for allowed_dir in allowed_dirs: - if allowed_dir in full_path: - allow = True - break - - if not allow: - continue - - if len(os.listdir(full_path)) == 0: - try: - os.rmdir(full_path) - except: - if show_error: - log.error('Couldn\'t remove empty directory %s: %s', (full_path, traceback.format_exc())) + for item in os.listdir(folder): + full_folder = os.path.join(folder, item) + + if not only_clean or (item in only_clean and os.path.isdir(full_folder)): + + for root, dirs, files in os.walk(full_folder): + + for dir_name in dirs: + full_path = os.path.join(root, dir_name) + + if len(os.listdir(full_path)) == 0: + try: + os.rmdir(full_path) + except: + if show_error: + log.error('Couldn\'t remove empty directory %s: %s', (full_path, traceback.format_exc())) try: os.rmdir(folder)