from flask import Flask, render_template, request, jsonify import os import json app = Flask(__name__) # Load configuration CONFIG_FILE = 'config.json' def load_config(): if os.path.exists(CONFIG_FILE): with open(CONFIG_FILE, 'r') as f: return json.load(f) else: return {"directories": []} def save_config(config): with open(CONFIG_FILE, 'w') as f: json.dump(config, f, indent=4) config = load_config() # Function to list media files def list_media_files(directories): media_files = [] for directory in directories: if os.path.exists(directory): for root, _, files in os.walk(directory): for file in files: file_path = os.path.join(root, file) file_info = { "name": file, "path": file_path, "size": os.path.getsize(file_path) } media_files.append(file_info) return media_files @app.route('/') def index(): media_files = list_media_files(config.get("directories", [])) return render_template('index.html', media_files=media_files) @app.route('/configure', methods=['GET', 'POST']) def configure(): if request.method == 'POST': directories = request.json.get('directories', []) config['directories'] = directories save_config(config) return jsonify({"status": "success"}) return jsonify(config) if __name__ == '__main__': app.run(debug=True)