aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorParker <contact@pkrm.dev>2024-07-20 00:22:01 -0500
committerParker <contact@pkrm.dev>2024-07-20 00:22:01 -0500
commitbbf348c1dcbb25b8f0ecc048ed9831fd21380593 (patch)
treeeb51f8e150943a76e51ba8ca2bd8e1fc73f5386c
parentbb77e85dedebf2a6e3656d4416b29f2d8cf9e2e5 (diff)
Add ability to have simple passwords
-rw-r--r--code/func/jellyfin.py7
-rw-r--r--code/global_variables.py8
-rw-r--r--code/validate_config.py11
3 files changed, 22 insertions, 4 deletions
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": "",
}