From 46dada7210f41230c82777017f1ff5a6345474a2 Mon Sep 17 00:00:00 2001 From: Labrys of Knossos Date: Thu, 15 Dec 2022 17:17:52 -0500 Subject: [PATCH] Reduce nested imports --- nzb2media/__init__.py | 18 +++++++----- nzb2media/auto_process/movies.py | 2 +- nzb2media/auto_process/tv.py | 4 +-- .../{auto_process => }/managers/__init__.py | 0 .../{auto_process => }/managers/pymedusa.py | 2 +- .../{auto_process => }/managers/sickbeard.py | 4 +-- .../{plugins/downloaders => nzb}/__init__.py | 0 .../downloaders => }/nzb/configuration.py | 0 .../plugins/downloaders/torrent/__init__.py | 0 nzb2media/processor/nzb.py | 2 +- .../downloaders/nzb => torrent}/__init__.py | 0 .../downloaders => }/torrent/configuration.py | 2 +- .../downloaders => }/torrent/deluge.py | 0 .../downloaders => }/torrent/qbittorrent.py | 0 .../downloaders => }/torrent/synology.py | 0 .../downloaders => }/torrent/transmission.py | 0 .../downloaders => }/torrent/utorrent.py | 0 .../downloaders/nzb/utils.py => utils/nzb.py} | 0 .../torrent/utils.py => utils/torrent.py} | 29 ++++++++++--------- 19 files changed, 34 insertions(+), 29 deletions(-) rename nzb2media/{auto_process => }/managers/__init__.py (100%) rename nzb2media/{auto_process => }/managers/pymedusa.py (99%) rename nzb2media/{auto_process => }/managers/sickbeard.py (99%) rename nzb2media/{plugins/downloaders => nzb}/__init__.py (100%) rename nzb2media/{plugins/downloaders => }/nzb/configuration.py (100%) delete mode 100644 nzb2media/plugins/downloaders/torrent/__init__.py rename nzb2media/{plugins/downloaders/nzb => torrent}/__init__.py (100%) rename nzb2media/{plugins/downloaders => }/torrent/configuration.py (97%) rename nzb2media/{plugins/downloaders => }/torrent/deluge.py (100%) rename nzb2media/{plugins/downloaders => }/torrent/qbittorrent.py (100%) rename nzb2media/{plugins/downloaders => }/torrent/synology.py (100%) rename nzb2media/{plugins/downloaders => }/torrent/transmission.py (100%) rename nzb2media/{plugins/downloaders => }/torrent/utorrent.py (100%) rename nzb2media/{plugins/downloaders/nzb/utils.py => utils/nzb.py} (100%) rename nzb2media/{plugins/downloaders/torrent/utils.py => utils/torrent.py} (82%) diff --git a/nzb2media/__init__.py b/nzb2media/__init__.py index fa5f319c..bafd17fa 100644 --- a/nzb2media/__init__.py +++ b/nzb2media/__init__.py @@ -43,15 +43,16 @@ CONFIG_TV_FILE = APP_ROOT / 'autoProcessTv.cfg' TEST_FILE = APP_ROOT / 'tests' / 'test.mp4' MYAPP = None -from nzb2media import logger, main_db, version_check, databases, transcoder +from nzb2media import logger +from nzb2media import main_db +from nzb2media import version_check +from nzb2media import databases +from nzb2media import transcoder from nzb2media.configuration import config -from nzb2media.plugins.downloaders.nzb.configuration import configure_nzbs -from nzb2media.plugins.downloaders.torrent.configuration import configure_torrent_class -from nzb2media.plugins.downloaders.torrent.configuration import configure_torrents -from nzb2media.plugins.downloaders.torrent.utils import pause_torrent -from nzb2media.plugins.downloaders.torrent.utils import remove_torrent -from nzb2media.plugins.downloaders.torrent.utils import resume_torrent +from nzb2media.nzb.configuration import configure_nzbs from nzb2media.plugins.plex import configure_plex +from nzb2media.torrent.configuration import configure_torrent_class +from nzb2media.torrent.configuration import configure_torrents from nzb2media.utils.common import clean_dir from nzb2media.utils.common import flatten from nzb2media.utils.common import get_dirs @@ -70,6 +71,9 @@ from nzb2media.utils.paths import remove_dir from nzb2media.utils.paths import remove_read_only from nzb2media.utils.processes import RunningProcess from nzb2media.utils.processes import restart +from nzb2media.utils.torrent import pause_torrent +from nzb2media.utils.torrent import remove_torrent +from nzb2media.utils.torrent import resume_torrent __version__ = '12.1.11' diff --git a/nzb2media/auto_process/movies.py b/nzb2media/auto_process/movies.py index 8ee6e4d9..174d3f4a 100644 --- a/nzb2media/auto_process/movies.py +++ b/nzb2media/auto_process/movies.py @@ -12,7 +12,6 @@ from nzb2media import transcoder from nzb2media.auto_process.common import ProcessResult from nzb2media.auto_process.common import command_complete from nzb2media.auto_process.common import completed_download_handling -from nzb2media.plugins.downloaders.nzb.utils import report_nzb from nzb2media.plugins.subtitles import import_subs from nzb2media.plugins.subtitles import rename_subs from nzb2media.scene_exceptions import process_all_exceptions @@ -22,6 +21,7 @@ from nzb2media.utils.files import list_media_files from nzb2media.utils.identification import find_imdbid from nzb2media.utils.network import find_download from nzb2media.utils.network import server_responding +from nzb2media.utils.nzb import report_nzb from nzb2media.utils.paths import remote_dir from nzb2media.utils.paths import remove_dir diff --git a/nzb2media/auto_process/tv.py b/nzb2media/auto_process/tv.py index a5c801c3..022f2e18 100644 --- a/nzb2media/auto_process/tv.py +++ b/nzb2media/auto_process/tv.py @@ -16,8 +16,7 @@ from nzb2media import transcoder from nzb2media.auto_process.common import ProcessResult from nzb2media.auto_process.common import command_complete from nzb2media.auto_process.common import completed_download_handling -from nzb2media.auto_process.managers.sickbeard import InitSickBeard -from nzb2media.plugins.downloaders.nzb.utils import report_nzb +from nzb2media.managers.sickbeard import InitSickBeard from nzb2media.plugins.subtitles import import_subs from nzb2media.plugins.subtitles import rename_subs from nzb2media.scene_exceptions import process_all_exceptions @@ -25,6 +24,7 @@ from nzb2media.utils.common import flatten from nzb2media.utils.encoding import convert_to_ascii from nzb2media.utils.files import list_media_files from nzb2media.utils.network import server_responding +from nzb2media.utils.nzb import report_nzb from nzb2media.utils.paths import remote_dir from nzb2media.utils.paths import remove_dir diff --git a/nzb2media/auto_process/managers/__init__.py b/nzb2media/managers/__init__.py similarity index 100% rename from nzb2media/auto_process/managers/__init__.py rename to nzb2media/managers/__init__.py diff --git a/nzb2media/auto_process/managers/pymedusa.py b/nzb2media/managers/pymedusa.py similarity index 99% rename from nzb2media/auto_process/managers/pymedusa.py rename to nzb2media/managers/pymedusa.py index 1774f37c..3fbacb96 100644 --- a/nzb2media/auto_process/managers/pymedusa.py +++ b/nzb2media/managers/pymedusa.py @@ -7,7 +7,7 @@ import requests import nzb2media.utils.common from nzb2media import logger from nzb2media.auto_process.common import ProcessResult -from nzb2media.auto_process.managers.sickbeard import SickBeard +from nzb2media.managers.sickbeard import SickBeard class PyMedusa(SickBeard): diff --git a/nzb2media/auto_process/managers/sickbeard.py b/nzb2media/managers/sickbeard.py similarity index 99% rename from nzb2media/auto_process/managers/sickbeard.py rename to nzb2media/managers/sickbeard.py index 95ec2cfb..9cad3f19 100644 --- a/nzb2media/auto_process/managers/sickbeard.py +++ b/nzb2media/managers/sickbeard.py @@ -8,9 +8,7 @@ from requests_oauthlib import OAuth2Session import nzb2media from nzb2media import logger -from nzb2media.auto_process.common import ( - ProcessResult, -) +from nzb2media.auto_process.common import ProcessResult from nzb2media.utils.paths import remote_dir diff --git a/nzb2media/plugins/downloaders/__init__.py b/nzb2media/nzb/__init__.py similarity index 100% rename from nzb2media/plugins/downloaders/__init__.py rename to nzb2media/nzb/__init__.py diff --git a/nzb2media/plugins/downloaders/nzb/configuration.py b/nzb2media/nzb/configuration.py similarity index 100% rename from nzb2media/plugins/downloaders/nzb/configuration.py rename to nzb2media/nzb/configuration.py diff --git a/nzb2media/plugins/downloaders/torrent/__init__.py b/nzb2media/plugins/downloaders/torrent/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/nzb2media/processor/nzb.py b/nzb2media/processor/nzb.py index cc112fbc..87da94e7 100644 --- a/nzb2media/processor/nzb.py +++ b/nzb2media/processor/nzb.py @@ -12,7 +12,6 @@ from nzb2media.auto_process import movies from nzb2media.auto_process import music from nzb2media.auto_process import tv from nzb2media.auto_process.common import ProcessResult -from nzb2media.plugins.downloaders.nzb.utils import get_nzoid from nzb2media.plugins.plex import plex_update from nzb2media.user_scripts import external_script from nzb2media.utils.common import clean_dir @@ -20,6 +19,7 @@ from nzb2media.utils.download_info import update_download_info_status from nzb2media.utils.encoding import char_replace from nzb2media.utils.encoding import convert_to_ascii from nzb2media.utils.files import extract_files +from nzb2media.utils.nzb import get_nzoid def process( diff --git a/nzb2media/plugins/downloaders/nzb/__init__.py b/nzb2media/torrent/__init__.py similarity index 100% rename from nzb2media/plugins/downloaders/nzb/__init__.py rename to nzb2media/torrent/__init__.py diff --git a/nzb2media/plugins/downloaders/torrent/configuration.py b/nzb2media/torrent/configuration.py similarity index 97% rename from nzb2media/plugins/downloaders/torrent/configuration.py rename to nzb2media/torrent/configuration.py index 353e5345..cf604fd5 100644 --- a/nzb2media/plugins/downloaders/torrent/configuration.py +++ b/nzb2media/torrent/configuration.py @@ -1,7 +1,7 @@ from __future__ import annotations import nzb2media -from nzb2media.plugins.downloaders.torrent.utils import create_torrent_class +from nzb2media.utils.torrent import create_torrent_class def configure_torrents(config): diff --git a/nzb2media/plugins/downloaders/torrent/deluge.py b/nzb2media/torrent/deluge.py similarity index 100% rename from nzb2media/plugins/downloaders/torrent/deluge.py rename to nzb2media/torrent/deluge.py diff --git a/nzb2media/plugins/downloaders/torrent/qbittorrent.py b/nzb2media/torrent/qbittorrent.py similarity index 100% rename from nzb2media/plugins/downloaders/torrent/qbittorrent.py rename to nzb2media/torrent/qbittorrent.py diff --git a/nzb2media/plugins/downloaders/torrent/synology.py b/nzb2media/torrent/synology.py similarity index 100% rename from nzb2media/plugins/downloaders/torrent/synology.py rename to nzb2media/torrent/synology.py diff --git a/nzb2media/plugins/downloaders/torrent/transmission.py b/nzb2media/torrent/transmission.py similarity index 100% rename from nzb2media/plugins/downloaders/torrent/transmission.py rename to nzb2media/torrent/transmission.py diff --git a/nzb2media/plugins/downloaders/torrent/utorrent.py b/nzb2media/torrent/utorrent.py similarity index 100% rename from nzb2media/plugins/downloaders/torrent/utorrent.py rename to nzb2media/torrent/utorrent.py diff --git a/nzb2media/plugins/downloaders/nzb/utils.py b/nzb2media/utils/nzb.py similarity index 100% rename from nzb2media/plugins/downloaders/nzb/utils.py rename to nzb2media/utils/nzb.py diff --git a/nzb2media/plugins/downloaders/torrent/utils.py b/nzb2media/utils/torrent.py similarity index 82% rename from nzb2media/plugins/downloaders/torrent/utils.py rename to nzb2media/utils/torrent.py index c2dcee42..c3a5e865 100644 --- a/nzb2media/plugins/downloaders/torrent/utils.py +++ b/nzb2media/utils/torrent.py @@ -4,18 +4,18 @@ import time import nzb2media from nzb2media import logger -from nzb2media.plugins.downloaders.torrent.deluge import configure_client as deluge_client -from nzb2media.plugins.downloaders.torrent.qbittorrent import configure_client as qbittorrent_client -from nzb2media.plugins.downloaders.torrent.synology import configure_client as synology_client -from nzb2media.plugins.downloaders.torrent.transmission import configure_client as transmission_client -from nzb2media.plugins.downloaders.torrent.utorrent import configure_client as utorrent_client +from nzb2media.torrent import deluge +from nzb2media.torrent import qbittorrent +from nzb2media.torrent import synology +from nzb2media.torrent import transmission +from nzb2media.torrent import utorrent torrent_clients = { - 'deluge': deluge_client, - 'qbittorrent': qbittorrent_client, - 'transmission': transmission_client, - 'utorrent': utorrent_client, - 'synods': synology_client, + 'deluge': deluge, + 'qbittorrent': qbittorrent, + 'transmission': transmission, + 'utorrent': utorrent, + 'synods': synology, } @@ -23,9 +23,12 @@ def create_torrent_class(client_agent): if not nzb2media.APP_NAME == 'TorrentToMedia.py': return # Skip loading Torrent for NZBs. - client = torrent_clients.get(client_agent) - if client: - return client() + try: + agent = torrent_clients[client_agent] + except KeyError: + return + else: + return agent.configure_client() def pause_torrent(client_agent, input_hash, input_id, input_name):