73 lines
2.1 KiB
Python
73 lines
2.1 KiB
Python
import configparser
|
|
import logging
|
|
from colorlog import ColoredFormatter
|
|
|
|
log_level = logging.DEBUG
|
|
log_format = (
|
|
" %(log_color)s%(levelname)-8s%(reset)s | %(log_color)s%(message)s%(reset)s"
|
|
)
|
|
|
|
logging.root.setLevel(log_level)
|
|
formatter = ColoredFormatter(log_format)
|
|
|
|
stream = logging.StreamHandler()
|
|
stream.setLevel(log_level)
|
|
stream.setFormatter(formatter)
|
|
|
|
LOG = logging.getLogger("pythonConfig")
|
|
LOG.setLevel(log_level)
|
|
LOG.addHandler(stream)
|
|
|
|
YES_VALUES = ["yes", "y", "true", "t", "1"]
|
|
NO_VALUES = ["no", "n", "false", "f", "0"]
|
|
|
|
try:
|
|
with open("config.ini", "r") as f:
|
|
file_contents = f.read()
|
|
except FileNotFoundError:
|
|
config = configparser.ConfigParser()
|
|
config["REQUIRED"] = {
|
|
"BOT_TOKEN": "",
|
|
"RADARR_HOST_URL": "http://",
|
|
"RADARR_API_KEY": "",
|
|
"ROOT_FOLDER_PATH": "",
|
|
"QUALITY_PROFILE_ID": "",
|
|
"ENABLE_JELLYFIN_TEMP_ACCOUNTS": "",
|
|
}
|
|
|
|
config["JELLYFIN_ACCOUNTS"] = {"JELLYFIN_URL": "", "JELLYFIN_API_KEY": ""}
|
|
|
|
with open("config.ini", "w") as configfile:
|
|
config.write(configfile)
|
|
|
|
LOG.error("Configuration file `config.ini` has been generated. Please fill out all of the necessary information. Refer to the docs for information on what a specific configuration option is.")
|
|
exit()
|
|
|
|
config = configparser.ConfigParser()
|
|
config.read_string(file_contents)
|
|
|
|
BOT_TOKEN = config["REQUIRED"]["BOT_TOKEN"]
|
|
RADARR_HOST_URL = config["REQUIRED"]["RADARR_HOST_URL"]
|
|
RADARR_API_KEY = config["REQUIRED"]["RADARR_API_KEY"]
|
|
ROOT_FOLDER_PATH = config["REQUIRED"]["ROOT_FOLDER_PATH"]
|
|
QUALITY_PROFILE_ID = config["REQUIRED"]["QUALITY_PROFILE_ID"]
|
|
|
|
if config["REQUIRED"]["ENABLE_JELLYFIN_TEMP_ACCOUNTS"].lower() in YES_VALUES:
|
|
ENABLE_JELLYFIN_TEMP_ACCOUNTS = True
|
|
else:
|
|
ENABLE_JELLYFIN_TEMP_ACCOUNTS = False
|
|
|
|
JELLYFIN_URL = config["JELLYFIN_ACCOUNTS"]["JELLYFIN_URL"]
|
|
JELLYFIN_API_KEY = config["JELLYFIN_ACCOUNTS"]["JELLYFIN_API_KEY"]
|
|
ACCOUNT_TIME = int(config["JELLYFIN_ACCOUNTS"]["ACCOUNT_TIME"])
|
|
|
|
RADARR_HEADERS = {
|
|
"Content-Type": "application/json",
|
|
"X-Api-Key": RADARR_API_KEY
|
|
}
|
|
|
|
JELLYFIN_HEADERS = {
|
|
"Content-Type": "application/json",
|
|
"X-Emby-Token": JELLYFIN_API_KEY,
|
|
}
|