From d960c432eb982f229433805475d1de54714b98a0 Mon Sep 17 00:00:00 2001 From: Labrys of Knossos Date: Tue, 15 Jan 2019 18:02:36 -0500 Subject: [PATCH] Refactor rchmod to utils.paths.rchmod --- core/__init__.py | 38 +++++++++++++++++++++----------------- core/utils/__init__.py | 1 + core/utils/paths.py | 13 +++++++++++++ 3 files changed, 35 insertions(+), 17 deletions(-) diff --git a/core/__init__.py b/core/__init__.py index 9958308b..7dcd4fd9 100644 --- a/core/__init__.py +++ b/core/__init__.py @@ -46,10 +46,27 @@ from six.moves import reload_module from core import logger, main_db, version_check, databases, transcoder from core.configuration import config from core.utils import ( - RunningProcess, wake_up, category_search, clean_dir, clean_dir, copy_link, - create_torrent_class, extract_files, flatten, get_dirs, get_download_info, - list_media_files, make_dir, parse_args, pause_torrent, remove_torrent, - resume_torrent, remove_dir, remove_read_only, sanitize_name, update_download_info_status, + RunningProcess, + category_search, + clean_dir, + copy_link, + create_torrent_class, + extract_files, + flatten, + get_dirs, + get_download_info, + list_media_files, + make_dir, + parse_args, + pause_torrent, + rchmod, + remove_dir, + remove_read_only, + remove_torrent, + resume_torrent, + sanitize_name, + update_download_info_status, + wake_up, ) __version__ = '12.0.6' @@ -866,16 +883,3 @@ def restart(): status = p.returncode os._exit(status) - - -def rchmod(path, mod): - logger.log('Changing file mode of {0} to {1}'.format(path, oct(mod))) - os.chmod(path, mod) - if not os.path.isdir(path): - return # Skip files - - for root, dirs, files in os.walk(path): - for d in dirs: - os.chmod(os.path.join(root, d), mod) - for f in files: - os.chmod(os.path.join(root, f), mod) diff --git a/core/utils/__init__.py b/core/utils/__init__.py index ee2eba05..99bb0376 100644 --- a/core/utils/__init__.py +++ b/core/utils/__init__.py @@ -37,6 +37,7 @@ from core.utils.paths import ( get_dir_size, make_dir, onerror, + rchmod, remote_dir, remove_dir, remove_empty_folders, diff --git a/core/utils/paths.py b/core/utils/paths.py index 5576206f..ec99a246 100644 --- a/core/utils/paths.py +++ b/core/utils/paths.py @@ -149,3 +149,16 @@ def clean_directory(path, files): shutil.rmtree(path, onerror=onerror) except Exception: logger.error('Unable to delete directory {0}'.format(path)) + + +def rchmod(path, mod): + logger.log('Changing file mode of {0} to {1}'.format(path, oct(mod))) + os.chmod(path, mod) + if not os.path.isdir(path): + return # Skip files + + for root, dirs, files in os.walk(path): + for d in dirs: + os.chmod(os.path.join(root, d), mod) + for f in files: + os.chmod(os.path.join(root, f), mod)