updted to delet unused files
This commit is contained in:
55
app/app.py
55
app/app.py
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user