Add ability to have simple passwords

This commit is contained in:
Parker M. 2024-07-20 00:22:01 -05:00
parent bb77e85ded
commit bbf348c1dc
No known key found for this signature in database
GPG Key ID: 95CD2E0C7E329F2A
3 changed files with 22 additions and 4 deletions

View File

@ -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

View File

@ -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

View File

@ -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": "",
}