from setuphelpers import *
import re
import requests
import glob

def update_package():
    # Déclaration des variables locales
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    
    app_name = control.name

    # Récupération de la page d'index depuis la source officielle
    index_url = "https://download.xnview.com/"
    index = wgets(index_url, proxies=proxies)

    # Expression régulière pour trouver le fichier exécutable le plus récent
    file_pattern = r'<a href="(XnViewMP-win-x64.(exe))"' 
    matches = re.findall(file_pattern, index)

    if matches:
        latest_bin = matches[0]  
        latest_bin_filename = latest_bin[0]

        # Construction de l'URL de téléchargement pour le fichier le plus récent
        download_url = index_url + latest_bin_filename

        # Suppression des anciens fichiers 
        for f in glob.glob("*.exe"):
            if f != latest_bin_filename:
                remove_file(f)

        # Téléchargement du dernier exécutable
        wget(download_url, latest_bin_filename, proxies=proxies)

        
        version =get_version_from_binary(latest_bin_filename)
        control.set_software_version(version)
        control.save_control_to_wapt()


