From 11acf24e00328f59e633c3fe9e8161685a3205df Mon Sep 17 00:00:00 2001 From: TheErrorExe Date: Sat, 28 Dec 2024 21:21:52 +0100 Subject: [PATCH] fixed a bug that occures if a video is deleted by the folder checker and revivetube.py --- check-folder-revivetube.py | 24 ++++++++---------------- revivetube.py | 2 ++ 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/check-folder-revivetube.py b/check-folder-revivetube.py index 4828a47..ed407ba 100644 --- a/check-folder-revivetube.py +++ b/check-folder-revivetube.py @@ -1,47 +1,39 @@ import os import time +import subprocess def get_folder_size(folder_path): - """Berechnet die Gesamtgröße eines Ordners in Bytes.""" total_size = 0 for dirpath, dirnames, filenames in os.walk(folder_path): for filename in filenames: filepath = os.path.join(dirpath, filename) - # Nur existierende Dateien berücksichtigen if os.path.exists(filepath): total_size += os.path.getsize(filepath) return total_size def delete_files(folder_path, extensions): - """Löscht alle Dateien mit den angegebenen Erweiterungen im Ordner.""" + os.system('sudo pkill -f revivetube.py') + process = subprocess.Popen(['sudo', 'nohup', 'python3', 'revivetube.py']) for dirpath, dirnames, filenames in os.walk(folder_path): for filename in filenames: if any(filename.lower().endswith(ext) for ext in extensions): filepath = os.path.join(dirpath, filename) try: os.remove(filepath) - print(f"Gelöscht: {filepath}") - except Exception as e: - print(f"Fehler beim Löschen von {filepath}: {e}") + except: + print("ERROR") def monitor_folder(folder_path, size_limit_gb, check_interval): - """Überwacht einen Ordner und löscht bestimmte Dateien, wenn die Größe überschritten wird.""" - size_limit_bytes = size_limit_gb * 1024 * 1024 * 1024 # GB in Bytes umrechnen + size_limit_bytes = size_limit_gb * 1024 * 1024 * 1024 while True: folder_size = get_folder_size(folder_path) - print(f"Ordnergröße: {folder_size / (1024 * 1024 * 1024):.2f} GB") if folder_size > size_limit_bytes: - print("Größenlimit überschritten! Lösche .flv und .mp4 Dateien...") delete_files(folder_path, [".flv", ".mp4"]) time.sleep(check_interval) if __name__ == "__main__": - # Pfad zum Überwachungsordner folder_to_monitor = "./sigma/videos/" - # Größenlimit in GB - size_limit = 7 # Geändert auf 7 GB - # Intervall in Sekunden + size_limit = 7 interval = 5 - # Überwachung starten - monitor_folder(folder_to_monitor, size_limit, interval) \ No newline at end of file + monitor_folder(folder_to_monitor, size_limit, interval) diff --git a/revivetube.py b/revivetube.py index 2f189ed..f4acb73 100644 --- a/revivetube.py +++ b/revivetube.py @@ -169,6 +169,7 @@ def get_folder_size(path): total_size += os.path.getsize(file_path) return total_size +""" def delete_videos_periodically(): while True: time.sleep(86400) @@ -179,6 +180,7 @@ def delete_videos_periodically(): print(f"Deleted: {file_path}") threading.Thread(target=delete_videos_periodically, daemon=True).start() +""" INDEX_TEMPLATE = """