import os
import uuid

from flask import current_app

ALLOWED_EXTENSIONS = {"png", "jpg", "jpeg", "gif", "webp", "svg"}


def allowed_file(filename):
    """Vérifie si l'extension du fichier est autorisée."""
    return "." in filename and filename.rsplit(".", 1)[1].lower() in ALLOWED_EXTENSIONS


def save_logo(form_picture):
    """
    Sauvegarde l'image avec un nom aléatoire unique.
    Retourne le nom du fichier sauvegardé.
    """
    random_name = uuid.uuid4().hex
    _, f_ext = os.path.splitext(form_picture.filename)

    picture_fn = random_name + f_ext
    upload_path = os.path.join(current_app.root_path, "static/uploads")

    if not os.path.exists(upload_path):
        os.makedirs(upload_path)

    full_path = os.path.join(upload_path, picture_fn)
    form_picture.save(full_path)

    return picture_fn
