mirror of
https://github.com/ManiMatter/decluttarr.git
synced 2026-04-18 09:54:04 +02:00
113 lines
4.9 KiB
Python
113 lines
4.9 KiB
Python
#!/usr/bin/env python
|
|
from config.parser import get_config_value
|
|
from config.env_vars import *
|
|
# Define data types and default values for settingsDict variables
|
|
# General
|
|
LOG_LEVEL = get_config_value('LOG_LEVEL', 'general', False, str, 'INFO')
|
|
TEST_RUN = get_config_value('TEST_RUN', 'general', False, bool, False)
|
|
SSL_VERIFICATION = get_config_value('SSL_VERIFICATION', 'general', False, bool, True)
|
|
|
|
# Features
|
|
REMOVE_TIMER = get_config_value('REMOVE_TIMER', 'features', False, float, 10)
|
|
REMOVE_FAILED = get_config_value('REMOVE_FAILED', 'features', False, bool, False)
|
|
REMOVE_FAILED_IMPORTS = get_config_value('REMOVE_FAILED_IMPORTS' , 'features', False, bool, False)
|
|
REMOVE_METADATA_MISSING = get_config_value('REMOVE_METADATA_MISSING', 'features', False, bool, False)
|
|
REMOVE_MISSING_FILES = get_config_value('REMOVE_MISSING_FILES' , 'features', False, bool, False)
|
|
REMOVE_NO_FORMAT_UPGRADE = get_config_value('REMOVE_NO_FORMAT_UPGRADE' , 'features', False, bool, False) # OUTDATED - WILL RETURN WARNING
|
|
REMOVE_ORPHANS = get_config_value('REMOVE_ORPHANS' , 'features', False, bool, False)
|
|
REMOVE_SLOW = get_config_value('REMOVE_SLOW' , 'features', False, bool, False)
|
|
REMOVE_STALLED = get_config_value('REMOVE_STALLED', 'features', False, bool, False)
|
|
REMOVE_UNMONITORED = get_config_value('REMOVE_UNMONITORED' , 'features', False, bool, False)
|
|
MIN_DOWNLOAD_SPEED = get_config_value('MIN_DOWNLOAD_SPEED', 'features', False, int, 0)
|
|
PERMITTED_ATTEMPTS = get_config_value('PERMITTED_ATTEMPTS', 'features', False, int, 3)
|
|
NO_STALLED_REMOVAL_QBIT_TAG = get_config_value('NO_STALLED_REMOVAL_QBIT_TAG', 'features', False, str, 'Don\'t Kill')
|
|
IGNORE_PRIVATE_TRACKERS = get_config_value('IGNORE_PRIVATE_TRACKERS', 'features', False, bool, True)
|
|
FAILED_IMPORT_MESSAGE_PATTERNS = get_config_value('FAILED_IMPORT_MESSAGE_PATTERNS','features', False, list, [])
|
|
|
|
# Radarr
|
|
RADARR_URL = get_config_value("RADARR_URL", "radarr", False, str)
|
|
RADARR_KEY = (
|
|
None if RADARR_URL == None else get_config_value("RADARR_KEY", "radarr", True, str)
|
|
)
|
|
|
|
# Sonarr
|
|
SONARR_URL = get_config_value("SONARR_URL", "sonarr", False, str)
|
|
SONARR_KEY = (
|
|
None if SONARR_URL == None else get_config_value("SONARR_KEY", "sonarr", True, str)
|
|
)
|
|
|
|
# Lidarr
|
|
LIDARR_URL = get_config_value("LIDARR_URL", "lidarr", False, str)
|
|
LIDARR_KEY = (
|
|
None if LIDARR_URL == None else get_config_value("LIDARR_KEY", "lidarr", True, str)
|
|
)
|
|
|
|
# Readarr
|
|
READARR_URL = get_config_value("READARR_URL", "readarr", False, str)
|
|
READARR_KEY = (
|
|
None
|
|
if READARR_URL == None
|
|
else get_config_value("READARR_KEY", "readarr", True, str)
|
|
)
|
|
|
|
# Whisparr
|
|
WHISPARR_URL = get_config_value("WHISPARR_URL", "whisparr", False, str)
|
|
WHISPARR_KEY = (
|
|
None
|
|
if WHISPARR_URL == None
|
|
else get_config_value("WHISPARR_KEY", "whisparr", True, str)
|
|
)
|
|
|
|
# qBittorrent
|
|
QBITTORRENT_URL = get_config_value("QBITTORRENT_URL", "qbittorrent", False, str, "")
|
|
QBITTORRENT_USERNAME = get_config_value(
|
|
"QBITTORRENT_USERNAME", "qbittorrent", False, str, ""
|
|
)
|
|
QBITTORRENT_PASSWORD = get_config_value(
|
|
"QBITTORRENT_PASSWORD", "qbittorrent", False, str, ""
|
|
)
|
|
|
|
########################################################################################################################
|
|
########### Validate settings
|
|
if not (
|
|
IS_IN_PYTEST
|
|
or RADARR_URL
|
|
or SONARR_URL
|
|
or LIDARR_URL
|
|
or READARR_URL
|
|
or WHISPARR_URL
|
|
):
|
|
print(
|
|
f"[ ERROR ]: No Radarr/Sonarr/Lidarr/Readarr/Whisparr URLs specified (nothing to monitor)"
|
|
)
|
|
exit()
|
|
|
|
########### Enrich setting variables
|
|
if RADARR_URL:
|
|
RADARR_URL = RADARR_URL.rstrip("/") + "/api/v3"
|
|
if SONARR_URL:
|
|
SONARR_URL = SONARR_URL.rstrip("/") + "/api/v3"
|
|
if LIDARR_URL:
|
|
LIDARR_URL = LIDARR_URL.rstrip("/") + "/api/v1"
|
|
if READARR_URL:
|
|
READARR_URL = READARR_URL.rstrip("/") + "/api/v1"
|
|
if WHISPARR_URL:
|
|
WHISPARR_URL = WHISPARR_URL.rstrip("/") + "/api/v3"
|
|
if QBITTORRENT_URL:
|
|
QBITTORRENT_URL = QBITTORRENT_URL.rstrip("/") + "/api/v2"
|
|
|
|
RADARR_MIN_VERSION = "5.3.6.8608"
|
|
SONARR_MIN_VERSION = "4.0.1.1131"
|
|
LIDARR_MIN_VERSION = None
|
|
READARR_MIN_VERSION = None
|
|
WHISPARR_MIN_VERSION = "2.0.0.548"
|
|
QBITTORRENT_MIN_VERSION = "4.3.0"
|
|
|
|
SUPPORTED_ARR_APPS = ["RADARR", "SONARR", "LIDARR", "READARR", "WHISPARR"]
|
|
|
|
########### Add Variables to Dictionary
|
|
settingsDict = {}
|
|
for var_name in dir():
|
|
if var_name.isupper():
|
|
settingsDict[var_name] = locals()[var_name]
|