Téléverser les fichiers vers "/"
This commit is contained in:
commit
91c6df7457
226
FixEncoding.py
Normal file
226
FixEncoding.py
Normal file
@ -0,0 +1,226 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
##############################################################################
|
||||
### NZBGET POST-PROCESSING SCRIPT ###
|
||||
#
|
||||
# Corrige les problèmes d'encodage dans les noms de fichiers.
|
||||
#
|
||||
# Ce script détecte et corrige les noms de fichiers qui ont été mal encodés
|
||||
# (UTF-8 interprété comme ISO-8859-1/Windows-1252) et les renomme correctement.
|
||||
#
|
||||
# NOTE: Ce script utilise Python 3.
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
### OPTIONS ###
|
||||
|
||||
# Activer le mode débogage (affiche plus d'informations dans les logs).
|
||||
#
|
||||
# yes, no.
|
||||
#Debug=no
|
||||
|
||||
# Extensions de fichiers à traiter (séparées par des virgules).
|
||||
# Laisser vide pour traiter tous les fichiers.
|
||||
#
|
||||
# Exemples: .flac,.mp3,.mkv,.mp4
|
||||
#FileExtensions=
|
||||
|
||||
# Mode de simulation (ne renomme pas les fichiers, affiche seulement ce qui serait fait).
|
||||
#
|
||||
# yes, no.
|
||||
#DryRun=no
|
||||
|
||||
### NZBGET POST-PROCESSING SCRIPT ###
|
||||
##############################################################################
|
||||
|
||||
import os
|
||||
import sys
|
||||
import re
|
||||
|
||||
|
||||
# Exit codes utilisés par NZBGet
|
||||
POSTPROCESS_SUCCESS = 93
|
||||
POSTPROCESS_ERROR = 94
|
||||
POSTPROCESS_NONE = 95
|
||||
|
||||
|
||||
def is_debug():
|
||||
"""Vérifie si le mode debug est activé."""
|
||||
return os.environ.get('NZBPO_DEBUG', 'no').lower() == 'yes'
|
||||
|
||||
|
||||
def is_dry_run():
|
||||
"""Vérifie si le mode simulation est activé."""
|
||||
return os.environ.get('NZBPO_DRYRUN', 'no').lower() == 'yes'
|
||||
|
||||
|
||||
def get_file_extensions():
|
||||
"""Récupère la liste des extensions de fichiers à traiter."""
|
||||
extensions = os.environ.get('NZBPO_FILEEXTENSIONS', '')
|
||||
if not extensions:
|
||||
return None
|
||||
return [ext.strip().lower() for ext in extensions.split(',')]
|
||||
|
||||
|
||||
def print_log(message, level='INFO'):
|
||||
"""Affiche un message dans les logs NZBGet."""
|
||||
print(f'[{level}] {message}')
|
||||
sys.stdout.flush()
|
||||
|
||||
|
||||
def is_encoding_issue(filename):
|
||||
"""
|
||||
Détecte si un nom de fichier contient des problèmes d'encodage typiques.
|
||||
|
||||
Recherche des motifs caractéristiques de l'UTF-8 mal interprété comme ISO-8859-1:
|
||||
- Ã suivi de caractères accentués (à, â, é, è, ê, ô, etc.)
|
||||
"""
|
||||
# Motifs caractéristiques d'un problème d'encodage UTF-8 -> ISO-8859-1
|
||||
patterns = [
|
||||
'é', # é mal encodé
|
||||
'è', # è mal encodé
|
||||
'ê', # ê mal encodé
|
||||
'ë', # ë mal encodé
|
||||
'Ã ', # à mal encodé
|
||||
'â', # â mal encodé
|
||||
'ä', # ä mal encodé
|
||||
'ç', # ç mal encodé
|
||||
'ô', # ô mal encodé
|
||||
'ö', # ö mal encodé
|
||||
'ù', # ù mal encodé
|
||||
'û', # û mal encodé
|
||||
'ü', # ü mal encodé
|
||||
'î', # î mal encodé
|
||||
'ï', # ï mal encodé
|
||||
'Å"', # œ mal encodé
|
||||
'É', # É mal encodé
|
||||
'À', # À mal encodé
|
||||
]
|
||||
|
||||
return any(pattern in filename for pattern in patterns)
|
||||
|
||||
|
||||
def fix_encoding(filename):
|
||||
"""
|
||||
Corrige le nom de fichier en supposant qu'il a été mal interprété.
|
||||
|
||||
Le problème typique est: UTF-8 -> interprété comme ISO-8859-1
|
||||
Solution: encoder en ISO-8859-1 (pour revenir aux octets originaux UTF-8)
|
||||
puis décoder en UTF-8
|
||||
"""
|
||||
try:
|
||||
# Tente de corriger l'encodage
|
||||
# On encode d'abord en ISO-8859-1 pour récupérer les octets originaux
|
||||
# puis on décode en UTF-8
|
||||
fixed = filename.encode('iso-8859-1').decode('utf-8')
|
||||
return fixed
|
||||
except (UnicodeDecodeError, UnicodeEncodeError):
|
||||
# Si la conversion échoue, on retourne le nom original
|
||||
return None
|
||||
|
||||
|
||||
def process_file(filepath, dirname, filename, extensions_filter, dry_run):
|
||||
"""
|
||||
Traite un fichier et le renomme si nécessaire.
|
||||
|
||||
Returns:
|
||||
bool: True si le fichier a été renommé, False sinon
|
||||
"""
|
||||
# Vérifie l'extension si un filtre est défini
|
||||
if extensions_filter:
|
||||
file_ext = os.path.splitext(filename)[1].lower()
|
||||
if file_ext not in extensions_filter:
|
||||
return False
|
||||
|
||||
# Vérifie si le nom contient des problèmes d'encodage
|
||||
if not is_encoding_issue(filename):
|
||||
return False
|
||||
|
||||
# Tente de corriger l'encodage
|
||||
fixed_filename = fix_encoding(filename)
|
||||
|
||||
if not fixed_filename or fixed_filename == filename:
|
||||
if is_debug():
|
||||
print_log(f'Impossible de corriger: {filename}', 'DEBUG')
|
||||
return False
|
||||
|
||||
# Construit les chemins complets
|
||||
old_path = os.path.join(dirname, filename)
|
||||
new_path = os.path.join(dirname, fixed_filename)
|
||||
|
||||
# Vérifie que le nouveau nom n'existe pas déjà
|
||||
if os.path.exists(new_path):
|
||||
print_log(f'Le fichier de destination existe déjà: {fixed_filename}', 'WARNING')
|
||||
return False
|
||||
|
||||
# Affiche l'action
|
||||
print_log(f'Renommage: {filename}')
|
||||
print_log(f' -> {fixed_filename}')
|
||||
|
||||
# Renomme le fichier (sauf en mode simulation)
|
||||
if not dry_run:
|
||||
try:
|
||||
os.rename(old_path, new_path)
|
||||
return True
|
||||
except OSError as e:
|
||||
print_log(f'Erreur lors du renommage: {e}', 'ERROR')
|
||||
return False
|
||||
else:
|
||||
print_log('[MODE SIMULATION - Fichier non renommé]', 'INFO')
|
||||
return True
|
||||
|
||||
|
||||
def main():
|
||||
"""Fonction principale du script."""
|
||||
|
||||
# Récupère le répertoire de travail depuis les variables d'environnement NZBGet
|
||||
nzb_directory = os.environ.get('NZBPP_DIRECTORY')
|
||||
|
||||
if not nzb_directory:
|
||||
print_log('Erreur: NZBPP_DIRECTORY non défini', 'ERROR')
|
||||
sys.exit(POSTPROCESS_ERROR)
|
||||
|
||||
if not os.path.isdir(nzb_directory):
|
||||
print_log(f'Erreur: Le répertoire n\'existe pas: {nzb_directory}', 'ERROR')
|
||||
sys.exit(POSTPROCESS_ERROR)
|
||||
|
||||
print_log('=== Début du traitement de correction d\'encodage ===')
|
||||
print_log(f'Répertoire: {nzb_directory}')
|
||||
|
||||
# Récupère les options
|
||||
extensions_filter = get_file_extensions()
|
||||
dry_run = is_dry_run()
|
||||
|
||||
if dry_run:
|
||||
print_log('MODE SIMULATION ACTIVÉ - Aucun fichier ne sera modifié', 'WARNING')
|
||||
|
||||
if extensions_filter:
|
||||
print_log(f'Filtrage par extensions: {", ".join(extensions_filter)}')
|
||||
|
||||
# Parcourt tous les fichiers récursivement
|
||||
files_renamed = 0
|
||||
files_processed = 0
|
||||
|
||||
for dirpath, dirnames, filenames in os.walk(nzb_directory):
|
||||
for filename in filenames:
|
||||
files_processed += 1
|
||||
|
||||
if process_file(os.path.join(dirpath, filename), dirpath, filename, extensions_filter, dry_run):
|
||||
files_renamed += 1
|
||||
|
||||
# Affiche le résumé
|
||||
print_log('=== Résumé ===')
|
||||
print_log(f'Fichiers traités: {files_processed}')
|
||||
print_log(f'Fichiers renommés: {files_renamed}')
|
||||
|
||||
if files_renamed > 0:
|
||||
print_log('Correction d\'encodage terminée avec succès')
|
||||
sys.exit(POSTPROCESS_SUCCESS)
|
||||
else:
|
||||
print_log('Aucun fichier à corriger')
|
||||
sys.exit(POSTPROCESS_NONE)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
67
QUICKSTART.md
Normal file
67
QUICKSTART.md
Normal file
@ -0,0 +1,67 @@
|
||||
# 🚀 DÉMARRAGE RAPIDE
|
||||
|
||||
## Test AVANT installation (recommandé)
|
||||
|
||||
Testez d'abord le script sur vos fichiers existants :
|
||||
|
||||
```bash
|
||||
# Simulation (ne modifie rien)
|
||||
python3 test_fix_encoding.py /chemin/vers/vos/fichiers
|
||||
|
||||
# Application réelle des corrections
|
||||
python3 test_fix_encoding.py /chemin/vers/vos/fichiers --fix
|
||||
```
|
||||
|
||||
## Installation dans NZBGet
|
||||
|
||||
### 1. Copiez le script
|
||||
|
||||
**Linux/macOS/Docker :**
|
||||
```bash
|
||||
cp FixEncoding.py /path/to/nzbget/scripts/
|
||||
chmod +x /path/to/nzbget/scripts/FixEncoding.py
|
||||
```
|
||||
|
||||
**Windows :**
|
||||
Copiez `FixEncoding.py` dans `C:\ProgramData\NZBGet\scripts\`
|
||||
|
||||
### 2. Configurez NZBGet
|
||||
|
||||
1. Ouvrez l'interface web de NZBGet
|
||||
2. **Settings** → Cliquez **Reload** (en bas à droite)
|
||||
3. Cherchez **FIXENCODING** dans les paramètres
|
||||
4. (Optionnel) Activez **DryRun=yes** pour un premier test
|
||||
5. **Save all changes**
|
||||
|
||||
### 3. Activez le script
|
||||
|
||||
**Pour tous les téléchargements :**
|
||||
- **Settings** → **Extension Scripts** → Cochez **FixEncoding.py**
|
||||
|
||||
**OU par catégorie :**
|
||||
- **Settings** → **Categories** → Sélectionnez une catégorie
|
||||
- **Extensions** → Ajoutez **FixEncoding.py**
|
||||
|
||||
### 4. Testez
|
||||
|
||||
1. **History** → Sélectionnez un téléchargement
|
||||
2. **Post-Process Again** → Cochez **FixEncoding.py**
|
||||
3. **Start**
|
||||
4. Consultez **Messages** pour voir les résultats
|
||||
|
||||
## ✅ C'est tout !
|
||||
|
||||
Le script corrigera automatiquement :
|
||||
- `19-La grâce.flac` → `19-La grâce.flac`
|
||||
- `06-La fièvre dans le sang.flac` → `06-La fièvre dans le sang.flac`
|
||||
- `02-Géant.flac` → `02-Géant.flac`
|
||||
|
||||
## 📖 Documentation complète
|
||||
|
||||
Consultez **README.md** pour plus de détails et options.
|
||||
|
||||
## ⚙️ Options principales
|
||||
|
||||
- **Debug=yes** : Affiche plus d'informations dans les logs
|
||||
- **FileExtensions=.flac,.mp3** : Limite aux extensions spécifiées
|
||||
- **DryRun=yes** : Mode simulation (recommandé pour le premier test)
|
||||
190
README.md
Normal file
190
README.md
Normal file
@ -0,0 +1,190 @@
|
||||
# Script de Correction d'Encodage pour NZBGet
|
||||
|
||||
## Description
|
||||
|
||||
Ce script de post-processing pour NZBGet corrige automatiquement les problèmes d'encodage dans les noms de fichiers. Il est particulièrement utile pour corriger les caractères français mal encodés (UTF-8 interprété comme ISO-8859-1).
|
||||
|
||||
### Problèmes corrigés
|
||||
|
||||
Le script détecte et corrige automatiquement :
|
||||
- `é` → `é`
|
||||
- `è` → `è`
|
||||
- `ê` → `ê`
|
||||
- `Ã ` → `à`
|
||||
- `â` → `â`
|
||||
- `ç` → `ç`
|
||||
- `ô` → `ô`
|
||||
- Et tous les autres caractères accentués français
|
||||
|
||||
**Exemple :**
|
||||
- `19-La grâce.flac` → `19-La grâce.flac`
|
||||
- `06-La fièvre dans le sang.flac` → `06-La fièvre dans le sang.flac`
|
||||
- `02-Géant.flac` → `02-Géant.flac`
|
||||
|
||||
## Installation
|
||||
|
||||
### 1. Prérequis
|
||||
|
||||
- NZBGet installé et fonctionnel
|
||||
- Python 3.x installé sur votre système
|
||||
|
||||
### 2. Installation du script
|
||||
|
||||
1. **Téléchargez** le fichier `FixEncoding.py`
|
||||
|
||||
2. **Copiez le script** dans le répertoire des scripts de NZBGet :
|
||||
- **Linux/macOS** : `/path/to/nzbget/scripts/`
|
||||
- **Windows** : `C:\ProgramData\NZBGet\scripts\`
|
||||
- **Docker** : montez le script dans `/scripts/`
|
||||
|
||||
3. **Rendez le script exécutable** (Linux/macOS/Docker uniquement) :
|
||||
```bash
|
||||
chmod +x FixEncoding.py
|
||||
```
|
||||
|
||||
### 3. Configuration dans NZBGet
|
||||
|
||||
1. Ouvrez l'interface web de NZBGet
|
||||
2. Allez dans **Settings** (Paramètres)
|
||||
3. Cliquez sur **Reload** en bas à droite pour que NZBGet détecte le nouveau script
|
||||
4. Cherchez la section **FIXENCODING**
|
||||
5. Configurez les options selon vos besoins (voir ci-dessous)
|
||||
|
||||
### 4. Activation du script
|
||||
|
||||
#### Option A : Global (pour tous les téléchargements)
|
||||
|
||||
1. Allez dans **Settings → Extension Scripts**
|
||||
2. Activez **FixEncoding.py**
|
||||
|
||||
#### Option B : Par catégorie
|
||||
|
||||
1. Allez dans **Settings → Categories**
|
||||
2. Sélectionnez une catégorie
|
||||
3. Dans **Extensions**, ajoutez **FixEncoding.py**
|
||||
|
||||
## Configuration
|
||||
|
||||
Le script propose plusieurs options configurables dans NZBGet :
|
||||
|
||||
### Debug
|
||||
- **Valeurs** : `yes` / `no`
|
||||
- **Défaut** : `no`
|
||||
- **Description** : Active le mode débogage pour afficher plus d'informations dans les logs
|
||||
|
||||
### FileExtensions
|
||||
- **Valeurs** : Extensions séparées par des virgules (ex: `.flac,.mp3,.mkv`)
|
||||
- **Défaut** : Vide (tous les fichiers)
|
||||
- **Description** : Limite le traitement aux fichiers avec ces extensions
|
||||
|
||||
### DryRun
|
||||
- **Valeurs** : `yes` / `no`
|
||||
- **Défaut** : `no`
|
||||
- **Description** : Mode simulation - affiche ce qui serait fait sans modifier les fichiers
|
||||
|
||||
## Utilisation
|
||||
|
||||
### Automatique
|
||||
|
||||
Une fois configuré, le script s'exécute automatiquement après chaque téléchargement et corrige les noms de fichiers si nécessaire.
|
||||
|
||||
### Test manuel
|
||||
|
||||
Pour tester le script sur un téléchargement déjà terminé :
|
||||
|
||||
1. Ouvrez l'interface web de NZBGet
|
||||
2. Allez dans **History** (Historique)
|
||||
3. Sélectionnez un téléchargement
|
||||
4. Cliquez sur **Post-Process Again**
|
||||
5. Sélectionnez **FixEncoding.py**
|
||||
6. Cliquez sur **Start**
|
||||
|
||||
### Mode simulation (recommandé pour le premier test)
|
||||
|
||||
1. Dans **Settings**, activez **DryRun=yes** pour FixEncoding
|
||||
2. Exécutez le script sur un téléchargement de test
|
||||
3. Vérifiez les logs pour voir ce qui serait modifié
|
||||
4. Si tout est correct, désactivez DryRun
|
||||
|
||||
## Vérification des logs
|
||||
|
||||
Pour voir ce que le script a fait :
|
||||
|
||||
1. Allez dans **Messages** dans NZBGet
|
||||
2. Cherchez les messages `[INFO]` de FixEncoding
|
||||
3. Vous verrez :
|
||||
- Les fichiers détectés avec des problèmes d'encodage
|
||||
- Les anciens et nouveaux noms
|
||||
- Un résumé du nombre de fichiers traités
|
||||
|
||||
## Exemples de logs
|
||||
|
||||
### Succès
|
||||
```
|
||||
[INFO] === Début du traitement de correction d'encodage ===
|
||||
[INFO] Répertoire: /downloads/Music/Album
|
||||
[INFO] Renommage: 19-La grâce.flac
|
||||
[INFO] -> 19-La grâce.flac
|
||||
[INFO] Renommage: 06-La fièvre dans le sang.flac
|
||||
[INFO] -> 06-La fièvre dans le sang.flac
|
||||
[INFO] === Résumé ===
|
||||
[INFO] Fichiers traités: 15
|
||||
[INFO] Fichiers renommés: 2
|
||||
[INFO] Correction d'encodage terminée avec succès
|
||||
```
|
||||
|
||||
### Aucun fichier à corriger
|
||||
```
|
||||
[INFO] === Début du traitement de correction d'encodage ===
|
||||
[INFO] Répertoire: /downloads/Music/Album
|
||||
[INFO] === Résumé ===
|
||||
[INFO] Fichiers traités: 10
|
||||
[INFO] Fichiers renommés: 0
|
||||
[INFO] Aucun fichier à corriger
|
||||
```
|
||||
|
||||
## Compatibilité
|
||||
|
||||
Le script est compatible avec :
|
||||
- ✅ Linux (toutes distributions)
|
||||
- ✅ Windows (avec Python installé)
|
||||
- ✅ macOS
|
||||
- ✅ Docker (NZBGet en conteneur)
|
||||
- ✅ NAS Synology, QNAP, etc. (avec Python)
|
||||
|
||||
## Dépannage
|
||||
|
||||
### Le script ne s'exécute pas
|
||||
|
||||
1. Vérifiez que Python 3 est installé :
|
||||
```bash
|
||||
python3 --version
|
||||
```
|
||||
|
||||
2. Vérifiez les permissions du script :
|
||||
```bash
|
||||
ls -l /path/to/scripts/FixEncoding.py
|
||||
```
|
||||
|
||||
3. Activez le mode Debug et consultez les logs
|
||||
|
||||
### Les fichiers ne sont pas renommés
|
||||
|
||||
1. Vérifiez que le script est bien activé dans la configuration
|
||||
2. Activez DryRun pour voir ce que le script détecte
|
||||
3. Consultez les logs dans NZBGet
|
||||
|
||||
### Erreur "File exists"
|
||||
|
||||
Le script ne renommera pas un fichier si le nom de destination existe déjà. Vous devrez renommer manuellement l'un des deux fichiers.
|
||||
|
||||
## Support
|
||||
|
||||
Pour toute question ou problème :
|
||||
- Consultez les logs avec Debug=yes
|
||||
- Vérifiez que vous utilisez Python 3.x
|
||||
- Assurez-vous que le script a les bonnes permissions
|
||||
|
||||
## Licence
|
||||
|
||||
Script libre d'utilisation et de modification.
|
||||
105
test_fix_encoding.py
Normal file
105
test_fix_encoding.py
Normal file
@ -0,0 +1,105 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Script de test standalone pour vérifier la correction d'encodage.
|
||||
Utilisez ce script pour tester la correction AVANT de l'intégrer à NZBGet.
|
||||
|
||||
Usage:
|
||||
python3 test_fix_encoding.py /chemin/vers/dossier
|
||||
python3 test_fix_encoding.py /chemin/vers/dossier --fix (pour vraiment renommer)
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
|
||||
def is_encoding_issue(filename):
|
||||
"""Détecte si un nom de fichier contient des problèmes d'encodage."""
|
||||
patterns = [
|
||||
'é', 'è', 'ê', 'ë', 'à ', 'â', 'ä', 'ç',
|
||||
'ô', 'ö', 'ù', 'û', 'ü', 'î', 'ï', 'Å"',
|
||||
'É', 'À'
|
||||
]
|
||||
return any(pattern in filename for pattern in patterns)
|
||||
|
||||
|
||||
def fix_encoding(filename):
|
||||
"""Corrige le nom de fichier."""
|
||||
try:
|
||||
fixed = filename.encode('iso-8859-1').decode('utf-8')
|
||||
return fixed
|
||||
except (UnicodeDecodeError, UnicodeEncodeError):
|
||||
return None
|
||||
|
||||
|
||||
def main():
|
||||
if len(sys.argv) < 2:
|
||||
print("Usage: python3 test_fix_encoding.py /chemin/vers/dossier [--fix]")
|
||||
sys.exit(1)
|
||||
|
||||
directory = sys.argv[1]
|
||||
do_fix = '--fix' in sys.argv
|
||||
|
||||
if not os.path.isdir(directory):
|
||||
print(f"Erreur: Le répertoire '{directory}' n'existe pas")
|
||||
sys.exit(1)
|
||||
|
||||
print(f"\n{'='*70}")
|
||||
print(f"TEST DE CORRECTION D'ENCODAGE")
|
||||
print(f"{'='*70}")
|
||||
print(f"Répertoire: {directory}")
|
||||
print(f"Mode: {'CORRECTION' if do_fix else 'SIMULATION'}")
|
||||
print(f"{'='*70}\n")
|
||||
|
||||
files_with_issues = 0
|
||||
files_corrected = 0
|
||||
|
||||
for dirpath, dirnames, filenames in os.walk(directory):
|
||||
for filename in filenames:
|
||||
if is_encoding_issue(filename):
|
||||
files_with_issues += 1
|
||||
fixed = fix_encoding(filename)
|
||||
|
||||
if fixed and fixed != filename:
|
||||
rel_path = os.path.relpath(dirpath, directory)
|
||||
if rel_path == '.':
|
||||
rel_path = ''
|
||||
|
||||
print(f"\n📁 {rel_path if rel_path else '(racine)'}")
|
||||
print(f" ❌ Avant : {filename}")
|
||||
print(f" ✅ Après : {fixed}")
|
||||
|
||||
if do_fix:
|
||||
old_path = os.path.join(dirpath, filename)
|
||||
new_path = os.path.join(dirpath, fixed)
|
||||
|
||||
if os.path.exists(new_path):
|
||||
print(f" ⚠️ ERREUR: Le fichier de destination existe déjà!")
|
||||
else:
|
||||
try:
|
||||
os.rename(old_path, new_path)
|
||||
print(f" ✔️ Renommé avec succès")
|
||||
files_corrected += 1
|
||||
except OSError as e:
|
||||
print(f" ❌ ERREUR: {e}")
|
||||
else:
|
||||
files_corrected += 1
|
||||
|
||||
print(f"\n{'='*70}")
|
||||
print(f"RÉSUMÉ")
|
||||
print(f"{'='*70}")
|
||||
print(f"Fichiers avec problèmes d'encodage: {files_with_issues}")
|
||||
print(f"Fichiers {'corrigés' if do_fix else 'à corriger'}: {files_corrected}")
|
||||
|
||||
if not do_fix and files_corrected > 0:
|
||||
print(f"\n💡 Pour appliquer les corrections, relancez avec: --fix")
|
||||
elif do_fix and files_corrected > 0:
|
||||
print(f"\n✅ Les fichiers ont été corrigés avec succès!")
|
||||
elif files_corrected == 0:
|
||||
print(f"\n✅ Aucun problème d'encodage détecté!")
|
||||
|
||||
print(f"{'='*70}\n")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Loading…
x
Reference in New Issue
Block a user