From 11ad3e967422e3dcf08879aa23f603e7a425d1d7 Mon Sep 17 00:00:00 2001 From: Labrys of Knossos Date: Tue, 3 Jan 2023 17:42:49 -0500 Subject: [PATCH] Fix circular imports --- nzb2media/__init__.py | 5 ----- nzb2media/databases.py | 9 +++++---- nzb2media/tool.py | 9 ++++----- nzb2media/transcoder.py | 1 - 4 files changed, 9 insertions(+), 15 deletions(-) diff --git a/nzb2media/__init__.py b/nzb2media/__init__.py index dd68a112..e63c6b7e 100644 --- a/nzb2media/__init__.py +++ b/nzb2media/__init__.py @@ -11,12 +11,10 @@ from typing import Any import setuptools_scm -import nzb2media.databases import nzb2media.fork.medusa import nzb2media.fork.sickbeard import nzb2media.fork.sickchill import nzb2media.fork.sickgear -import nzb2media.tool from nzb2media.configuration import Config from nzb2media.transcoder import configure_transcoder from nzb2media.utils.network import wake_up @@ -107,7 +105,6 @@ def configure_general(): global SAFE_MODE global NOEXTRACTFAILED FORCE_CLEAN = int(CFG['General']['force_clean']) - nzb2media.tool.FFMPEG_PATH = pathlib.Path(CFG['General']['ffmpeg_path']) SYS_PATH = CFG['General']['sys_path'] CHECK_MEDIA = int(CFG['General']['check_media']) REQUIRE_LAN = None if not CFG['General']['require_lan'] else CFG['General']['require_lan'].split(',') @@ -186,11 +183,9 @@ def initialize(section=None): configure_general() configure_wake_on_lan() configure_remote_paths() - nzb2media.tool.configure_niceness() configure_containers() configure_transcoder() configure_passwords_file() - nzb2media.tool.configure_utility_locations() configure_sections(section) __INITIALIZED__ = True # finished initializing diff --git a/nzb2media/databases.py b/nzb2media/databases.py index 9b2f876d..03588c82 100644 --- a/nzb2media/databases.py +++ b/nzb2media/databases.py @@ -1,12 +1,12 @@ from __future__ import annotations import logging +import os import re import sqlite3 import sys import time -import nzb2media from nzb2media.utils.files import backup_versioned_file log = logging.getLogger(__name__) @@ -115,17 +115,18 @@ class InitialSchema(SchemaUpgrade): self.connection.action(query) -def db_filename(filename: str = 'nzbtomedia.db', suffix: str | None = None): +def db_filename(filename: str = 'nzbtomedia.db', suffix: str | None = None, root: os.PathLike | None = None): """Return the correct location of the database file. @param filename: The sqlite database filename to use. If not specified, will be made to be nzbtomedia.db @param suffix: The suffix to append to the filename. A '.' will be added automatically, i.e. suffix='v0' will make dbfile.db.v0 + @param root: The root path for the database. @return: the correct location of the database file. """ if suffix: filename = f'{filename}.{suffix}' - return nzb2media.os.path.join(nzb2media.APP_ROOT, filename) + return os.path.join(root or '', filename) class DBConnection: @@ -308,4 +309,4 @@ def _process_upgrade(connection, upgrade_class): _process_upgrade(connection, upgrade_sub_class) -upgrade_database(nzb2media.databases.DBConnection(), nzb2media.databases.InitialSchema) +upgrade_database(DBConnection(), InitialSchema) diff --git a/nzb2media/tool.py b/nzb2media/tool.py index 37af1984..1505b241 100644 --- a/nzb2media/tool.py +++ b/nzb2media/tool.py @@ -136,11 +136,7 @@ def configure_utility_locations(): FFMPEG = find_transcoder(FFMPEG_PATH) FFPROBE = find_video_corruption_detector(FFMPEG_PATH) PAR2CMD = find_archive_repairer() - if platform.system() == 'Windows': - path = nzb2media.APP_ROOT / f'nzb2media/extractor/bin/{platform.machine()}' - else: - path = None - SEVENZIP = find_unzip(path) + SEVENZIP = find_unzip() def extract(file_path, output_destination): @@ -318,3 +314,6 @@ def configure_niceness(): NICENESS: list[str] = [] FFMPEG_PATH: pathlib.Path | None = None + +configure_niceness() +configure_utility_locations() diff --git a/nzb2media/transcoder.py b/nzb2media/transcoder.py index bec7bbe0..d4493cd9 100644 --- a/nzb2media/transcoder.py +++ b/nzb2media/transcoder.py @@ -18,7 +18,6 @@ from subprocess import PIPE from babelfish import Language import nzb2media -import nzb2media.tool from nzb2media.utils.files import list_media_files from nzb2media.utils.paths import make_dir