Newer
Older
medialib-manager / app.py
@root root 28 days ago 1 KB init
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)