Only cleanup source folders

This commit is contained in:
Ruud
2014-06-03 22:25:17 +02:00
parent 2396fadf04
commit 4b236c6ed6
2 changed files with 21 additions and 2 deletions

View File

@@ -77,7 +77,8 @@ class Core(Plugin):
return True
def cleanUpFolders(self):
self.deleteEmptyFolder(Env.get('app_dir'), show_error = False)
only_clean = ['couchpotato', 'libs', 'init']
self.deleteEmptyFolder(Env.get('app_dir'), show_error = False, only_clean = only_clean)
def available(self, **kwargs):
return {

View File

@@ -140,13 +140,31 @@ class Plugin(object):
return False
def deleteEmptyFolder(self, folder, show_error = True):
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)