import os
import re
import requests

# Fonction pour vérifier si une URL est active
def check_url(url):
    try:
        response = requests.get(url)
        if response.status_code != 200:
            print(f"{url} is not active. Status code: {response.status_code}")
    except requests.exceptions.RequestException as e:
        print(f"{url} is not active. Error: {e}")

# Fonction pour extraire les URLs d'un fichier .tex
def extract_urls_from_tex(file_path):
    urls = []
    with open(file_path, 'r', encoding='utf-8') as file:
        content = file.read()
        # Expression régulière pour extraire les URLs des lignes de QR code
        pattern = r'\\qrcode\{([^\}]+)\}'
        matches = re.findall(pattern, content)
        urls.extend(matches)
    return urls

# Liste des URLs à vérifier
urls_to_check = []

# Parcourir tous les fichiers .tex dans le dossier courant
for file_name in os.listdir('.'):
    if file_name.endswith('.tex'):
        file_path = os.path.join('.', file_name)
        print(f"Scanning file: {file_path}")
        urls = extract_urls_from_tex(file_path)
        urls_to_check.extend(urls)

# Vérifier chaque URL
for url in urls_to_check:
    check_url(url)
