diff --git a/code/func/jellyfin.py b/code/func/jellyfin.py index 19f1e9a..f31ec04 100644 --- a/code/func/jellyfin.py +++ b/code/func/jellyfin.py @@ -5,7 +5,7 @@ import string import sqlite3 from wonderwords import RandomWord -from global_variables import JELLYFIN_URL, JELLYFIN_HEADERS, ACCOUNT_TIME +from global_variables import JELLYFIN_URL, JELLYFIN_HEADERS, ACCOUNT_TIME, SIMPLE_PASSWORDS """ Create a new Jellyfin account for the user and return the username and password @@ -14,7 +14,10 @@ Create a new Jellyfin account for the user and return the username and password def create_jellyfin_account(user_id): username = RandomWord().word(word_min_length=5, word_max_length=5) - password = "".join(random.choices(string.ascii_lowercase + string.digits, k=15)) + if SIMPLE_PASSWORDS: + password = RandomWord().word(word_min_length=5, word_max_length=10) + else: + password = "".join(random.choices(string.ascii_lowercase + string.digits, k=15)) deletion_time = datetime.datetime.now() + datetime.timedelta(hours=ACCOUNT_TIME) # Create the new Jellyfin account diff --git a/code/global_variables.py b/code/global_variables.py index 1edb012..26e5558 100644 --- a/code/global_variables.py +++ b/code/global_variables.py @@ -38,7 +38,8 @@ except FileNotFoundError: config["JELLYFIN_ACCOUNTS"] = { "JELLYFIN_URL": "", "JELLYFIN_API_KEY": "", - "ACCOUNT_TIME": "" + "ACCOUNT_TIME": "", + "SIMPLE_PASSWORDS": "", } with open("config.ini", "w") as configfile: @@ -74,3 +75,8 @@ JELLYFIN_HEADERS = { "Content-Type": "application/json", "X-Emby-Token": JELLYFIN_API_KEY, } + +if config["JELLYFIN_ACCOUNTS"]["SIMPLE_PASSWORDS"].lower() in YES_VALUES: + SIMPLE_PASSWORDS = True +else: + SIMPLE_PASSWORDS = False \ No newline at end of file diff --git a/code/validate_config.py b/code/validate_config.py index a79ff06..e53cd1d 100644 --- a/code/validate_config.py +++ b/code/validate_config.py @@ -96,6 +96,14 @@ def validate_config(file_contents): except ValueError: LOG.error("Invalid value passed to ACCOUNT_TIME. Pass a valid integer value (e.g. 24)") errors += 1 + # Validate SIMPLE_PASSWORDS + if not config["JELLYFIN_ACCOUNTS"]["SIMPLE_PASSWORDS"]: + LOG.error("Empty SIMPLE_PASSWORDS passed. Pass a true/false value.") + errors += 1 + else: + if (config["JELLYFIN_ACCOUNTS"]["SIMPLE_PASSWORDS"].lower() not in YES_VALUES + NO_VALUES): + LOG.error("Invalid value passed to SIMPLE_PASSWORDS. Pass a true/false value.") + errors += 1 # Make sure connection to Jellyfin API can be established jellyfin_headers = { @@ -161,5 +169,6 @@ def create_config(): config["JELLYFIN_ACCOUNTS"] = { "JELLYFIN_URL": "", "JELLYFIN_API_KEY": "", - "ACCOUNT_TIME": "" + "ACCOUNT_TIME": "", + "SIMPLE_PASSWORDS": "", }