#!/usr/bin/env python3 """ Scanne les fichiers Org d'un dossier pour répertorier les liens. Génère un JSON listant pour chaque article ses liens et statistiques par domaine. """ import os import re import json import argparse import urllib.parse from datetime import datetime from collections import Counter, defaultdict def extract_links_from_org(file_path): """Extrait tous les liens d'un fichier Org""" links = [] try: with open(file_path, 'r', encoding='utf-8') as file: content = file.read() # Pattern pour trouver les liens Org-mode: [[url][description]] ou [[url]] pattern = r'\[\[((?:https?:\/\/|www\.)[^\]]+)\](?:\[([^\]]*)\])?' matches = re.finditer(pattern, content) for match in matches: url = match.group(1) description = match.group(2) if match.group(2) else "" links.append({"url": url, "description": description}) # Chercher aussi les liens simples http:// ou https:// qui ne sont pas dans la syntaxe [[]] simple_pattern = r'(?