From b5bd2e36b6597303985eb9dc897e04d452950372 Mon Sep 17 00:00:00 2001 From: Parker Date: Sun, 19 Jan 2025 23:41:53 -0600 Subject: Overhaul + Sonarr support! --- code/utils/jellyfin_delete.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 code/utils/jellyfin_delete.py (limited to 'code/utils/jellyfin_delete.py') diff --git a/code/utils/jellyfin_delete.py b/code/utils/jellyfin_delete.py new file mode 100644 index 0000000..6164e40 --- /dev/null +++ b/code/utils/jellyfin_delete.py @@ -0,0 +1,38 @@ +import datetime +import sqlite3 +import requests + +from utils.config import JELLYFIN_URL, JELLYFIN_HEADERS + + +def delete_accounts(): + """ + Delete Jellyfin accounts that have passed their deletion time + """ + # Get all expired Jellyfin accounts + db = sqlite3.connect("cordarr.db") + cursor = db.cursor() + cursor.execute( + "SELECT jellyfin_user_id FROM jellyfin_accounts WHERE" + " deletion_time < ?", + (datetime.datetime.now(),), + ) + jellyfin_user_ids = cursor.fetchall() + + # Delete the Jellyfin accounts + for jellyfin_user_id in jellyfin_user_ids: + request = requests.delete( + f"{JELLYFIN_URL}/Users/{jellyfin_user_id[0]}", + headers=JELLYFIN_HEADERS, + ) + # If 204 - account deleted + # If 404 - account not found + # Either way, remove account from database + if request.status_code in (404, 204): + cursor.execute( + "DELETE FROM jellyfin_accounts WHERE jellyfin_user_id = ?", + (jellyfin_user_id,), + ) + + db.commit() + db.close() -- cgit v1.2.3-70-g09d2