import csv import json import sys import os # Vérifier les arguments if len(sys.argv) != 2: print("Usage: python3 conv.py ") print("Exemple: python3 conv.py subscriptions.csv") print("Exemple: python3 conv.py mes_abonnements_youtube.csv") sys.exit(1) csv_filename = sys.argv[1] # Vérifier que le fichier existe if not os.path.exists(csv_filename): print(f"❌ Erreur: Le fichier '{csv_filename}' n'existe pas.") sys.exit(1) print(f"🔄 Début de la conversion du fichier: {csv_filename}") # Générer le nom du fichier de sortie basé sur le fichier d'entrée base_name = os.path.splitext(csv_filename)[0] output_filename = f"{base_name}_newpipe.json" try: # Lire le fichier CSV with open(csv_filename, mode='r', encoding='utf-8') as csv_file: csv_reader = csv.DictReader(csv_file) subscriptions = [] row_count = 0 for row in csv_reader: subscriptions.append({ "service_id": 0, "url": row["URL des chaînes"].replace("http://", "https://"), "name": row["Titres des chaînes"] }) row_count += 1 print(f"📊 {row_count} abonnements trouvés dans le fichier CSV") # Créer le JSON final output = { "app_version": "0.28.0", "app_version_int": 1005, "subscriptions": subscriptions } # Écrire le fichier JSON with open(output_filename, mode='w', encoding='utf-8') as json_file: json.dump(output, json_file, ensure_ascii=False, indent=2) print(f"✅ Conversion réussie !") print(f"📁 Fichier de sortie: {output_filename}") print(f"📈 {len(subscriptions)} abonnements convertis") print(f"💾 Taille du fichier: {os.path.getsize(output_filename)} bytes") except KeyError as e: print(f"❌ Erreur: Colonne manquante dans le CSV: {e}") print("💡 Vérifiez que le CSV contient les colonnes 'URL des chaînes' et 'Titres des chaînes'") sys.exit(1) except Exception as e: print(f"❌ Erreur lors de la conversion: {e}") sys.exit(1)