From a92a578dd4b29385655125b18a95e10498b3e3be Mon Sep 17 00:00:00 2001 From: Lizband Date: Tue, 25 Dec 2018 11:25:49 -0500 Subject: [PATCH 1/4] Add cleanup script --- cleanup.py | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 cleanup.py diff --git a/cleanup.py b/cleanup.py new file mode 100644 index 00000000..be13558d --- /dev/null +++ b/cleanup.py @@ -0,0 +1,86 @@ +from __future__ import print_function + +import subprocess +import sys + + +def git_clean(remove_directories=False, force=False, dry_run=False, interactive=False, quiet=False, exclude=None, + ignore_rules=False, clean_ignored=False, paths=None): + """Execute git clean commands.""" + command = ['git', 'clean'] + if remove_directories: + command.append('-d') + if force: + command.append('--force') + if interactive: + command.append('--interactive') + if quiet: + command.append('--quiet') + if dry_run: + command.append('--dry-run') + if exclude: + try: + exclude = exclude.split(' ') + except AttributeError: + pass + for exclusion in exclude: + command.append('--exclude={pattern}'.format(pattern=exclusion)) + if ignore_rules: + command.append('-x') + if clean_ignored: + command.append('-X') + if paths: + try: + paths = paths.split(' ') + except AttributeError: + pass + command.extend(paths) + return subprocess.check_output(command) + + +def clean_bytecode(): + """Clean bytecode files.""" + try: + result = git_clean( + remove_directories=True, + force=True, + exclude=[ + '*.*', # exclude everything + '!*.py[co]', # except bytecode + '!**/__pycache__/', # and __pycache__ folders + ], + ) + except subprocess.CalledProcessError as error: + sys.exit(error.returncode) + else: + return result + + +def clean_folders(*paths): + """Clean obsolete folders.""" + try: + result = git_clean( + remove_directories=True, + force=True, + ignore_rules=True, + paths=paths, + ) + except subprocess.CalledProcessError as error: + sys.exit(error.returncode) + else: + return result + + +def clean(*paths): + """Clean up bytecode and obsolete folders.""" + print('-- Cleaning bytecode --') + result = clean_bytecode() + print(result or 'No bytecode to clean\n') + if paths: + print('-- Cleaning folders: {} --'.format(paths)) + result = clean_folders(*paths) + print(result or 'No folders to clean\n') + + +if __name__ == '__main__': + clean('libs', 'core') From 00bbf8fa16b6d628d65cc6dad18965e7b999fb42 Mon Sep 17 00:00:00 2001 From: Lizband Date: Tue, 25 Dec 2018 11:27:21 -0500 Subject: [PATCH 2/4] Add cleanup after update --- core/versionCheck.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/versionCheck.py b/core/versionCheck.py index 79824df6..ba672602 100644 --- a/core/versionCheck.py +++ b/core/versionCheck.py @@ -13,6 +13,7 @@ import stat import traceback import gh_api as github +import cleanup import core from core import logger @@ -79,7 +80,9 @@ class CheckVersion(object): def update(self): if self.updater.need_update(): - return self.updater.update() + result = self.updater.update() + cleanup.clean('core', 'libs') + return result class UpdateManager(object): From 273f4556023e260e796e9d307bfb556b12392680 Mon Sep 17 00:00:00 2001 From: Lizband Date: Tue, 25 Dec 2018 11:28:13 -0500 Subject: [PATCH 3/4] Force cleanup during transitional period --- TorrentToMedia.py | 5 +++++ nzbToMedia.py | 3 +++ 2 files changed, 8 insertions(+) diff --git a/TorrentToMedia.py b/TorrentToMedia.py index 1bd92b28..e6dfbcad 100755 --- a/TorrentToMedia.py +++ b/TorrentToMedia.py @@ -1,5 +1,10 @@ #!/usr/bin/env python2 # coding=utf-8 + +import cleanup +cleanup.clean('core', 'libs') + + import datetime import os import sys diff --git a/nzbToMedia.py b/nzbToMedia.py index 4e75bf12..29ca5a42 100755 --- a/nzbToMedia.py +++ b/nzbToMedia.py @@ -623,6 +623,9 @@ from __future__ import print_function +import cleanup +cleanup.clean('core', 'libs') + import os import sys import datetime From 38a113ee2641e2a960e46f3f360eef1dfcf90b7e Mon Sep 17 00:00:00 2001 From: Lizband Date: Tue, 25 Dec 2018 12:40:13 -0500 Subject: [PATCH 4/4] Update version to 11.7 --- changelog.txt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/changelog.txt b/changelog.txt index e9b74007..f5930423 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,5 +1,14 @@ Change_LOG / History +V11.7 12/25/2018 + +Merry Christmas and Happy Holidays! + +Add cleanup script to clean up bytecode +Add automatic cleanup on update + +NOTE: Cleanup will force-run every time during a transitional period to minimize issues with upcoming refactoring + V11.06 11/03/2018 updates to incorporate importMode for NzbDrone/Sonarr and Radarr.