updted to delet unused files

This commit is contained in:
2025-05-12 10:21:32 +03:00
parent 36402d6d33
commit 310efb213a

View File

@@ -296,6 +296,7 @@ def periodic_playlist_check():
Logger.info("Checking for playlist updates...")
download_playlist_files_from_server() # Download playlist from the server
create_updated_playlist() # Create the updated playlist with local file paths
delete_old_logs_and_unused_files() # Delete old logs and unused media files
Logger.info("Playlist check complete.")
except Exception as e:
Logger.error(f"Error during playlist check: {e}")
@@ -307,25 +308,53 @@ def start_playlist_check_thread():
thread.start()
# Function to delete log files older than 2 days
def delete_old_logs(log_folder='./logs', days=2):
def delete_old_logs_and_unused_files(log_folder='./logs', resurse_folder='./static/resurse', days=2):
"""Delete old log files and unused media files."""
Logger.info("Checking for old log files to delete...")
if not os.path.exists(log_folder):
Logger.warning(f"Log folder does not exist: {log_folder}")
else:
now = time.time()
cutoff = now - (days * 86400) # Convert days to seconds
for file_name in os.listdir(log_folder):
file_path = os.path.join(log_folder, file_name)
if os.path.isfile(file_path):
file_modified_time = os.path.getmtime(file_path)
if file_modified_time < cutoff:
try:
os.remove(file_path)
Logger.info(f"Deleted old log file: {file_path}")
except Exception as e:
Logger.error(f"Failed to delete log file {file_path}: {e}")
Logger.info("Checking for unused media files to delete...")
if not os.path.exists(resurse_folder):
Logger.warning(f"Resurse folder does not exist: {resurse_folder}")
return
now = time.time()
cutoff = now - (days * 86400) # Convert days to seconds
# Load the updated playlist to determine which files are in use
updated_playlist_file = './updated_playlist.json'
used_files = set()
if os.path.exists(updated_playlist_file):
with open(updated_playlist_file, 'r') as file:
updated_playlist = json.load(file)
for media in updated_playlist:
file_name = os.path.basename(media.get('url', ''))
used_files.add(file_name)
for file_name in os.listdir(log_folder):
file_path = os.path.join(log_folder, file_name)
if os.path.isfile(file_path):
file_modified_time = os.path.getmtime(file_path)
if file_modified_time < cutoff:
try:
os.remove(file_path)
Logger.info(f"Deleted old log file: {file_path}")
except Exception as e:
Logger.error(f"Failed to delete log file {file_path}: {e}")
# Always keep playlist.json
used_files.add('playlist.json')
# Delete files in the resurse folder that are not in the updated playlist
for file_name in os.listdir(resurse_folder):
file_path = os.path.join(resurse_folder, file_name)
if os.path.isfile(file_path) and file_name not in used_files:
try:
os.remove(file_path)
Logger.info(f"Deleted unused media file: {file_path}")
except Exception as e:
Logger.error(f"Failed to delete media file {file_path}: {e}")
if __name__ == '__main__':
initialize_playlist() # Check and download playlist on startup