diff --git a/alembic/env.py b/alembic/env.py index ef31e2b..00d5ea9 100644 --- a/alembic/env.py +++ b/alembic/env.py @@ -30,7 +30,7 @@ from media_manager.tv.models import Show, Season, Episode, SeasonFile, SeasonReq from media_manager.movies.models import Movie, MovieFile, MovieRequest # noqa: E402 from media_manager.notification.models import Notification # noqa: E402 from media_manager.database import Base # noqa: E402 -from media_manager.config import AllEncompassingConfig # noqa: E402 +from media_manager.config import MediaManagerConfig # noqa: E402 target_metadata = Base.metadata @@ -59,7 +59,7 @@ target_metadata = Base.metadata # ... etc. -db_config = AllEncompassingConfig().database +db_config = MediaManagerConfig().database db_url = ( "postgresql+psycopg" + "://" diff --git a/media_manager/auth/db.py b/media_manager/auth/db.py index eedf6d5..e6bec02 100644 --- a/media_manager/auth/db.py +++ b/media_manager/auth/db.py @@ -12,7 +12,7 @@ from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_asyn from sqlalchemy.orm import Mapped, relationship, mapped_column from media_manager.database import Base, build_db_url -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig class OAuthAccount(SQLAlchemyBaseOAuthAccountTableUUID, Base): @@ -30,7 +30,7 @@ class User(SQLAlchemyBaseUserTableUUID, Base): engine = create_async_engine( - build_db_url(**AllEncompassingConfig().database.model_dump()), echo=False + build_db_url(**MediaManagerConfig().database.model_dump()), echo=False ) async_session_maker = async_sessionmaker(engine, expire_on_commit=False) diff --git a/media_manager/auth/router.py b/media_manager/auth/router.py index e8bd3f0..f6beb28 100644 --- a/media_manager/auth/router.py +++ b/media_manager/auth/router.py @@ -4,7 +4,7 @@ from fastapi_users.router import get_oauth_router from httpx_oauth.oauth2 import OAuth2 from sqlalchemy import select -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig from media_manager.auth.db import User from media_manager.auth.schemas import UserRead, AuthMetadata from media_manager.auth.users import ( @@ -50,7 +50,7 @@ def get_openid_router(): ) -openid_config = AllEncompassingConfig().auth.openid_connect +openid_config = MediaManagerConfig().auth.openid_connect @users_router.get( diff --git a/media_manager/auth/users.py b/media_manager/auth/users.py index 5bd64ab..f3e6d0d 100644 --- a/media_manager/auth/users.py +++ b/media_manager/auth/users.py @@ -20,11 +20,11 @@ from sqlalchemy import select, func import media_manager.notification.utils from media_manager.auth.db import User, get_user_db, get_async_session from media_manager.auth.schemas import UserUpdate, UserCreate -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig log = logging.getLogger(__name__) -config = AllEncompassingConfig().auth +config = MediaManagerConfig().auth SECRET = config.token_secret LIFETIME = config.session_lifetime @@ -66,7 +66,7 @@ class UserManager(UUIDIDMixin, BaseUserManager[User, uuid.UUID]): async def on_after_forgot_password( self, user: User, token: str, request: Optional[Request] = None ): - link = f"{AllEncompassingConfig().misc.frontend_url}web/login/reset-password?token={token}" + link = f"{MediaManagerConfig().misc.frontend_url}web/login/reset-password?token={token}" log.info(f"User {user.id} has forgot their password. Reset Link: {link}") if not config.email_password_resets: @@ -128,7 +128,7 @@ async def create_default_admin_user(): stmt = select(func.count(User.id)) result = await session.execute(stmt) user_count = result.scalar() - config = AllEncompassingConfig() + config = MediaManagerConfig() if user_count == 0: log.info( "No users found in database. Creating default admin user..." @@ -184,7 +184,7 @@ def get_jwt_strategy() -> JWTStrategy[models.UP, models.ID]: class RedirectingCookieTransport(CookieTransport): async def get_login_response(self, token: str) -> Response: response = RedirectResponse( - str(AllEncompassingConfig().misc.frontend_url) + "web/dashboard", + str(MediaManagerConfig().misc.frontend_url) + "web/dashboard", status_code=status.HTTP_302_FOUND, ) return self._set_login_cookie(response, token) diff --git a/media_manager/config.py b/media_manager/config.py index 2bbb799..9457ba4 100644 --- a/media_manager/config.py +++ b/media_manager/config.py @@ -49,7 +49,7 @@ class BasicConfig(BaseSettings): movie_libraries: list[LibraryItem] = [] -class AllEncompassingConfig(BaseSettings): +class MediaManagerConfig(BaseSettings): model_config = SettingsConfigDict( toml_file=config_path, case_sensitive=False, diff --git a/media_manager/indexer/indexers/jackett.py b/media_manager/indexer/indexers/jackett.py index b29d774..1e01702 100644 --- a/media_manager/indexer/indexers/jackett.py +++ b/media_manager/indexer/indexers/jackett.py @@ -7,7 +7,7 @@ import requests from media_manager.indexer.indexers.generic import GenericIndexer from media_manager.indexer.indexers.torznab_mixin import TorznabMixin from media_manager.indexer.schemas import IndexerQueryResult -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig from media_manager.movies.schemas import Movie from media_manager.tv.schemas import Show @@ -21,7 +21,7 @@ class Jackett(GenericIndexer, TorznabMixin): """ super().__init__(name="jackett") - config = AllEncompassingConfig().indexers.jackett + config = MediaManagerConfig().indexers.jackett self.api_key = config.api_key self.url = config.url self.indexers = config.indexers diff --git a/media_manager/indexer/indexers/prowlarr.py b/media_manager/indexer/indexers/prowlarr.py index e9e0063..82e68b7 100644 --- a/media_manager/indexer/indexers/prowlarr.py +++ b/media_manager/indexer/indexers/prowlarr.py @@ -4,7 +4,7 @@ from dataclasses import dataclass from requests import Session from media_manager.indexer.indexers.generic import GenericIndexer -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig from media_manager.indexer.indexers.torznab_mixin import TorznabMixin from media_manager.indexer.schemas import IndexerQueryResult from media_manager.movies.schemas import Movie @@ -36,7 +36,7 @@ class Prowlarr(GenericIndexer, TorznabMixin): A subclass of GenericIndexer for interacting with the Prowlarr API. """ super().__init__(name="prowlarr") - self.config = AllEncompassingConfig().indexers.prowlarr + self.config = MediaManagerConfig().indexers.prowlarr def _call_prowlarr_api(self, path: str, parameters: dict = None): url = f"{self.config.url}/api/v1{path}" diff --git a/media_manager/indexer/service.py b/media_manager/indexer/service.py index 7b3c469..e65b461 100644 --- a/media_manager/indexer/service.py +++ b/media_manager/indexer/service.py @@ -1,6 +1,6 @@ import logging -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig from media_manager.indexer.indexers.generic import GenericIndexer from media_manager.indexer.indexers.jackett import Jackett from media_manager.indexer.indexers.prowlarr import Prowlarr @@ -15,7 +15,7 @@ log = logging.getLogger(__name__) class IndexerService: def __init__(self, indexer_repository: IndexerRepository): - config = AllEncompassingConfig() + config = MediaManagerConfig() self.repository = indexer_repository self.indexers: list[GenericIndexer] = [] diff --git a/media_manager/indexer/utils.py b/media_manager/indexer/utils.py index 745307d..b068b1b 100644 --- a/media_manager/indexer/utils.py +++ b/media_manager/indexer/utils.py @@ -3,7 +3,7 @@ from urllib.parse import urljoin import requests -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig from media_manager.indexer.config import ScoringRuleSet from media_manager.indexer.schemas import IndexerQueryResult from media_manager.movies.schemas import Movie @@ -15,8 +15,8 @@ log = logging.getLogger(__name__) def evaluate_indexer_query_result( query_result: IndexerQueryResult, ruleset: ScoringRuleSet ) -> (IndexerQueryResult, bool): - title_rules = AllEncompassingConfig().indexers.title_scoring_rules - indexer_flag_rules = AllEncompassingConfig().indexers.indexer_flag_scoring_rules + title_rules = MediaManagerConfig().indexers.title_scoring_rules + indexer_flag_rules = MediaManagerConfig().indexers.indexer_flag_scoring_rules for rule_name in ruleset.rule_names: for rule in title_rules: if rule.name == rule_name: @@ -80,7 +80,7 @@ def evaluate_indexer_query_results( query_results: list[IndexerQueryResult], media: Show | Movie, is_tv: bool ) -> list[IndexerQueryResult]: scoring_rulesets: list[ScoringRuleSet] = ( - AllEncompassingConfig().indexers.scoring_rule_sets + MediaManagerConfig().indexers.scoring_rule_sets ) for ruleset in scoring_rulesets: if ( diff --git a/media_manager/main.py b/media_manager/main.py index 7823478..7cf95ca 100644 --- a/media_manager/main.py +++ b/media_manager/main.py @@ -1,7 +1,7 @@ from media_manager.logging import setup_logging, LOGGING_CONFIG from media_manager.scheduler import setup_scheduler from media_manager.filesystem_checks import run_filesystem_checks -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig import uvicorn import os from fastapi import FastAPI, APIRouter @@ -39,7 +39,7 @@ import logging setup_logging() -config = AllEncompassingConfig() +config = MediaManagerConfig() log = logging.getLogger(__name__) if config.misc.development: diff --git a/media_manager/metadataProvider/abstractMetaDataProvider.py b/media_manager/metadataProvider/abstractMetaDataProvider.py index cd8b661..c07d565 100644 --- a/media_manager/metadataProvider/abstractMetaDataProvider.py +++ b/media_manager/metadataProvider/abstractMetaDataProvider.py @@ -4,13 +4,13 @@ from abc import ABC, abstractmethod from media_manager.metadataProvider.schemas import MetaDataProviderSearchResult from media_manager.tv.schemas import Show from media_manager.movies.schemas import Movie -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig log = logging.getLogger(__name__) class AbstractMetadataProvider(ABC): - storage_path = AllEncompassingConfig().misc.image_directory + storage_path = MediaManagerConfig().misc.image_directory @property @abstractmethod diff --git a/media_manager/metadataProvider/tmdb.py b/media_manager/metadataProvider/tmdb.py index 571ce3e..2e59977 100644 --- a/media_manager/metadataProvider/tmdb.py +++ b/media_manager/metadataProvider/tmdb.py @@ -3,7 +3,7 @@ import logging import requests import media_manager.metadataProvider.utils -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig from media_manager.metadataProvider.abstractMetaDataProvider import ( AbstractMetadataProvider, ) @@ -22,7 +22,7 @@ class TmdbMetadataProvider(AbstractMetadataProvider): name = "tmdb" def __init__(self): - config = AllEncompassingConfig().metadata.tmdb + config = MediaManagerConfig().metadata.tmdb self.url = config.tmdb_relay_url self.primary_languages = config.primary_languages self.default_language = config.default_language diff --git a/media_manager/metadataProvider/tvdb.py b/media_manager/metadataProvider/tvdb.py index 555af0b..d8b4553 100644 --- a/media_manager/metadataProvider/tvdb.py +++ b/media_manager/metadataProvider/tvdb.py @@ -3,7 +3,7 @@ import logging import media_manager.metadataProvider.utils -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig from media_manager.metadataProvider.abstractMetaDataProvider import ( AbstractMetadataProvider, ) @@ -19,7 +19,7 @@ class TvdbMetadataProvider(AbstractMetadataProvider): name = "tvdb" def __init__(self): - config = AllEncompassingConfig().metadata.tvdb + config = MediaManagerConfig().metadata.tvdb self.url = config.tvdb_relay_url def __get_show(self, id: int) -> dict: diff --git a/media_manager/movies/router.py b/media_manager/movies/router.py index 34bb3b9..6e45e1f 100644 --- a/media_manager/movies/router.py +++ b/media_manager/movies/router.py @@ -5,7 +5,7 @@ from fastapi import APIRouter, Depends, status, HTTPException from media_manager.auth.schemas import UserRead from media_manager.auth.users import current_active_user, current_superuser -from media_manager.config import LibraryItem, AllEncompassingConfig +from media_manager.config import LibraryItem, MediaManagerConfig from media_manager.indexer.schemas import ( IndexerQueryResultId, IndexerQueryResult, @@ -105,7 +105,7 @@ def import_detected_movie( """ source_directory = Path(directory) if source_directory not in get_importable_media_directories( - AllEncompassingConfig().misc.movie_directory + MediaManagerConfig().misc.movie_directory ): raise HTTPException(status.HTTP_400_BAD_REQUEST, "No such directory") success = movie_service.import_existing_movie( @@ -186,7 +186,7 @@ def get_available_libraries(): """ Get available Movie libraries from configuration. """ - return AllEncompassingConfig().misc.movie_libraries + return MediaManagerConfig().misc.movie_libraries # ----------------------------------------------------------------------------- diff --git a/media_manager/movies/service.py b/media_manager/movies/service.py index 6f126a8..d0deafa 100644 --- a/media_manager/movies/service.py +++ b/media_manager/movies/service.py @@ -4,7 +4,7 @@ from pathlib import Path from sqlalchemy.exc import IntegrityError from sqlalchemy.orm import Session -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig from media_manager.exceptions import InvalidConfigError from media_manager.indexer.repository import IndexerRepository from media_manager.database import SessionLocal, get_session @@ -459,7 +459,7 @@ class MovieService: return True def get_movie_root_path(self, movie: Movie) -> Path: - misc_config = AllEncompassingConfig().misc + misc_config = MediaManagerConfig().misc movie_file_path = ( misc_config.movie_directory / f"{remove_special_characters(movie.name)} ({movie.year}) [{movie.metadata_provider}id-{movie.external_id}]" @@ -670,7 +670,7 @@ class MovieService: def get_importable_movies( self, metadata_provider: AbstractMetadataProvider ) -> list[MediaImportSuggestion]: - movie_root_path = AllEncompassingConfig().misc.movie_directory + movie_root_path = MediaManagerConfig().misc.movie_directory importable_movies: list[MediaImportSuggestion] = [] candidate_dirs = get_importable_media_directories(movie_root_path) diff --git a/media_manager/notification/manager.py b/media_manager/notification/manager.py index 3936c08..0453297 100644 --- a/media_manager/notification/manager.py +++ b/media_manager/notification/manager.py @@ -20,7 +20,7 @@ from media_manager.notification.service_providers.ntfy import ( from media_manager.notification.service_providers.pushover import ( PushoverNotificationServiceProvider, ) -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig logger = logging.getLogger(__name__) @@ -31,7 +31,7 @@ class NotificationManager: """ def __init__(self): - self.config = AllEncompassingConfig().notifications + self.config = MediaManagerConfig().notifications self.providers: List[AbstractNotificationServiceProvider] = [] self._initialize_providers() diff --git a/media_manager/notification/service_providers/email.py b/media_manager/notification/service_providers/email.py index bbf35a5..c52453c 100644 --- a/media_manager/notification/service_providers/email.py +++ b/media_manager/notification/service_providers/email.py @@ -3,12 +3,12 @@ from media_manager.notification.schemas import MessageNotification from media_manager.notification.service_providers.abstractNotificationServiceProvider import ( AbstractNotificationServiceProvider, ) -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig class EmailNotificationServiceProvider(AbstractNotificationServiceProvider): def __init__(self): - self.config = AllEncompassingConfig().notifications.email_notifications + self.config = MediaManagerConfig().notifications.email_notifications def send_notification(self, message: MessageNotification) -> bool: subject = "MediaManager - " + message.title diff --git a/media_manager/notification/service_providers/gotify.py b/media_manager/notification/service_providers/gotify.py index 9108167..fd04807 100644 --- a/media_manager/notification/service_providers/gotify.py +++ b/media_manager/notification/service_providers/gotify.py @@ -1,6 +1,6 @@ import requests -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig from media_manager.notification.schemas import MessageNotification from media_manager.notification.service_providers.abstractNotificationServiceProvider import ( AbstractNotificationServiceProvider, @@ -13,7 +13,7 @@ class GotifyNotificationServiceProvider(AbstractNotificationServiceProvider): """ def __init__(self): - self.config = AllEncompassingConfig().notifications.gotify + self.config = MediaManagerConfig().notifications.gotify def send_notification(self, message: MessageNotification) -> bool: response = requests.post( diff --git a/media_manager/notification/service_providers/ntfy.py b/media_manager/notification/service_providers/ntfy.py index 57f993d..6de4601 100644 --- a/media_manager/notification/service_providers/ntfy.py +++ b/media_manager/notification/service_providers/ntfy.py @@ -1,6 +1,6 @@ import requests -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig from media_manager.notification.schemas import MessageNotification from media_manager.notification.service_providers.abstractNotificationServiceProvider import ( AbstractNotificationServiceProvider, @@ -13,7 +13,7 @@ class NtfyNotificationServiceProvider(AbstractNotificationServiceProvider): """ def __init__(self): - self.config = AllEncompassingConfig().notifications.ntfy + self.config = MediaManagerConfig().notifications.ntfy def send_notification(self, message: MessageNotification) -> bool: response = requests.post( diff --git a/media_manager/notification/service_providers/pushover.py b/media_manager/notification/service_providers/pushover.py index 8f3abc2..b3e1235 100644 --- a/media_manager/notification/service_providers/pushover.py +++ b/media_manager/notification/service_providers/pushover.py @@ -1,6 +1,6 @@ import requests -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig from media_manager.notification.schemas import MessageNotification from media_manager.notification.service_providers.abstractNotificationServiceProvider import ( AbstractNotificationServiceProvider, @@ -9,7 +9,7 @@ from media_manager.notification.service_providers.abstractNotificationServicePro class PushoverNotificationServiceProvider(AbstractNotificationServiceProvider): def __init__(self): - self.config = AllEncompassingConfig().notifications.pushover + self.config = MediaManagerConfig().notifications.pushover def send_notification(self, message: MessageNotification) -> bool: response = requests.post( diff --git a/media_manager/notification/utils.py b/media_manager/notification/utils.py index 6f81a2b..94c533e 100644 --- a/media_manager/notification/utils.py +++ b/media_manager/notification/utils.py @@ -3,13 +3,13 @@ import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig log = logging.getLogger(__name__) def send_email(subject: str, html: str, addressee: str) -> None: - email_conf = AllEncompassingConfig().notifications.smtp_config + email_conf = MediaManagerConfig().notifications.smtp_config message = MIMEMultipart() message["From"] = email_conf.from_email message["To"] = addressee diff --git a/media_manager/torrent/download_clients/qbittorrent.py b/media_manager/torrent/download_clients/qbittorrent.py index 909052f..afef952 100644 --- a/media_manager/torrent/download_clients/qbittorrent.py +++ b/media_manager/torrent/download_clients/qbittorrent.py @@ -3,7 +3,7 @@ import logging import qbittorrentapi from qbittorrentapi import Conflict409Error -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig from media_manager.indexer.schemas import IndexerQueryResult from media_manager.torrent.download_clients.abstractDownloadClient import ( AbstractDownloadClient, @@ -44,7 +44,7 @@ class QbittorrentDownloadClient(AbstractDownloadClient): UNKNOWN_STATE = ("unknown",) def __init__(self): - self.config = AllEncompassingConfig().torrents.qbittorrent + self.config = MediaManagerConfig().torrents.qbittorrent self.api_client = qbittorrentapi.Client( host=self.config.host, port=self.config.port, diff --git a/media_manager/torrent/download_clients/sabnzbd.py b/media_manager/torrent/download_clients/sabnzbd.py index 0798dac..70ed67d 100644 --- a/media_manager/torrent/download_clients/sabnzbd.py +++ b/media_manager/torrent/download_clients/sabnzbd.py @@ -1,6 +1,6 @@ import logging -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig from media_manager.indexer.schemas import IndexerQueryResult from media_manager.torrent.download_clients.abstractDownloadClient import ( AbstractDownloadClient, @@ -27,7 +27,7 @@ class SabnzbdDownloadClient(AbstractDownloadClient): UNKNOWN_STATE = ("Unknown",) def __init__(self): - self.config = AllEncompassingConfig().torrents.sabnzbd + self.config = MediaManagerConfig().torrents.sabnzbd self.client = sabnzbd_api.SabnzbdClient( host=self.config.host, port=str(self.config.port), diff --git a/media_manager/torrent/download_clients/transmission.py b/media_manager/torrent/download_clients/transmission.py index 170a4f3..10b701a 100644 --- a/media_manager/torrent/download_clients/transmission.py +++ b/media_manager/torrent/download_clients/transmission.py @@ -1,7 +1,7 @@ import logging import transmission_rpc -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig from media_manager.indexer.schemas import IndexerQueryResult from media_manager.torrent.download_clients.abstractDownloadClient import ( AbstractDownloadClient, @@ -27,7 +27,7 @@ class TransmissionDownloadClient(AbstractDownloadClient): } def __init__(self): - self.config = AllEncompassingConfig().torrents.transmission + self.config = MediaManagerConfig().torrents.transmission try: self._client = transmission_rpc.Client( host=self.config.host, @@ -52,7 +52,7 @@ class TransmissionDownloadClient(AbstractDownloadClient): """ torrent_hash = get_torrent_hash(torrent=indexer_result) download_dir = ( - AllEncompassingConfig().misc.torrent_directory / indexer_result.title + MediaManagerConfig().misc.torrent_directory / indexer_result.title ) try: self._client.add_torrent( diff --git a/media_manager/torrent/manager.py b/media_manager/torrent/manager.py index 9fa5d8a..053ddcd 100644 --- a/media_manager/torrent/manager.py +++ b/media_manager/torrent/manager.py @@ -1,7 +1,7 @@ import logging from enum import Enum -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig from media_manager.indexer.schemas import IndexerQueryResult from media_manager.torrent.download_clients.abstractDownloadClient import ( AbstractDownloadClient, @@ -33,7 +33,7 @@ class DownloadManager: def __init__(self): self._torrent_client: AbstractDownloadClient | None = None self._usenet_client: AbstractDownloadClient | None = None - self.config = AllEncompassingConfig().torrents + self.config = MediaManagerConfig().torrents self._initialize_clients() def _initialize_clients(self) -> None: diff --git a/media_manager/torrent/utils.py b/media_manager/torrent/utils.py index f0e5566..cabbc12 100644 --- a/media_manager/torrent/utils.py +++ b/media_manager/torrent/utils.py @@ -11,7 +11,7 @@ import requests import libtorrent from requests.exceptions import InvalidSchema -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig from media_manager.indexer.schemas import IndexerQueryResult from media_manager.indexer.utils import follow_redirects_to_final_torrent_url from media_manager.torrent.schemas import Torrent @@ -62,7 +62,7 @@ def extract_archives(files): def get_torrent_filepath(torrent: Torrent): - return AllEncompassingConfig().misc.torrent_directory / torrent.title + return MediaManagerConfig().misc.torrent_directory / torrent.title def import_file(target_file: Path, source_file: Path): @@ -128,7 +128,7 @@ def get_torrent_hash(torrent: IndexerQueryResult) -> str: :return: The hash of the torrent. """ torrent_filepath = ( - AllEncompassingConfig().misc.torrent_directory / f"{torrent.title}.torrent" + MediaManagerConfig().misc.torrent_directory / f"{torrent.title}.torrent" ) if torrent_filepath.exists(): log.warning(f"Torrent file already exists at: {torrent_filepath}") @@ -149,7 +149,7 @@ def get_torrent_hash(torrent: IndexerQueryResult) -> str: final_url = follow_redirects_to_final_torrent_url( initial_url=torrent.download_url, session=requests.Session(), - timeout=AllEncompassingConfig().indexers.prowlarr.timeout_seconds, + timeout=MediaManagerConfig().indexers.prowlarr.timeout_seconds, ) torrent_hash = str(libtorrent.parse_magnet_uri(final_url).info_hash) return torrent_hash @@ -217,8 +217,8 @@ def remove_special_chars_and_parentheses(title: str) -> str: def get_importable_media_directories(path: Path) -> list[Path]: libraries = [] - libraries.extend(AllEncompassingConfig().misc.movie_libraries) - libraries.extend(AllEncompassingConfig().misc.tv_libraries) + libraries.extend(MediaManagerConfig().misc.movie_libraries) + libraries.extend(MediaManagerConfig().misc.tv_libraries) library_paths = {Path(library.path).absolute() for library in libraries} diff --git a/media_manager/tv/router.py b/media_manager/tv/router.py index 6008147..bf56e48 100644 --- a/media_manager/tv/router.py +++ b/media_manager/tv/router.py @@ -6,7 +6,7 @@ from fastapi import APIRouter, Depends, status, HTTPException from media_manager.auth.db import User from media_manager.auth.schemas import UserRead from media_manager.auth.users import current_active_user, current_superuser -from media_manager.config import AllEncompassingConfig, LibraryItem +from media_manager.config import MediaManagerConfig, LibraryItem from media_manager.exceptions import MediaAlreadyExists from media_manager.indexer.schemas import ( IndexerQueryResultId, @@ -103,7 +103,7 @@ def import_detected_show(tv_service: tv_service_dep, tv_show: show_dep, director """ source_directory = Path(directory) if source_directory not in get_importable_media_directories( - AllEncompassingConfig().misc.tv_directory + MediaManagerConfig().misc.tv_directory ): raise HTTPException(status.HTTP_400_BAD_REQUEST, "No such directory") tv_service.import_existing_tv_show( @@ -181,7 +181,7 @@ def get_available_libraries(): """ Get available TV libraries from configuration. """ - return AllEncompassingConfig().misc.tv_libraries + return MediaManagerConfig().misc.tv_libraries # ----------------------------------------------------------------------------- diff --git a/media_manager/tv/service.py b/media_manager/tv/service.py index 9e2b0d5..5783bf8 100644 --- a/media_manager/tv/service.py +++ b/media_manager/tv/service.py @@ -3,7 +3,7 @@ import shutil from sqlalchemy.exc import IntegrityError -from media_manager.config import AllEncompassingConfig +from media_manager.config import MediaManagerConfig from media_manager.database import get_session from media_manager.exceptions import InvalidConfigError from media_manager.indexer.repository import IndexerRepository @@ -568,7 +568,7 @@ class TvService: return True def get_root_show_directory(self, show: Show): - misc_config = AllEncompassingConfig().misc + misc_config = MediaManagerConfig().misc show_directory_name = f"{remove_special_characters(show.name)} ({show.year}) [{show.metadata_provider}id-{show.external_id}]" log.debug( f"Show {show.name} without special characters: {remove_special_characters(show.name)}" @@ -921,7 +921,7 @@ class TvService: def get_importable_tv_shows( self, metadata_provider: AbstractMetadataProvider ) -> list[MediaImportSuggestion]: - tv_directory = AllEncompassingConfig().misc.tv_directory + tv_directory = MediaManagerConfig().misc.tv_directory import_suggestions: list[MediaImportSuggestion] = [] candidate_dirs = get_importable_media_directories(tv_directory)