Téléverser les fichiers vers "/"

This commit is contained in:
UNFR 2025-10-27 13:26:43 +00:00
parent 7787331d6f
commit 8e387151e4
2 changed files with 35 additions and 6 deletions

View File

@ -82,7 +82,8 @@ def is_encoding_issue(filename):
'è', # è mal encodé 'è', # è mal encodé
'ê', # ê mal encodé 'ê', # ê mal encodé
'ë', # ë mal encodé 'ë', # ë mal encodé
'Ã ', # à mal encodé 'Ã ', # à mal encodé (avec espace normal)
'Ã\xa0', # à mal encodé (avec espace insécable)
'â', # â mal encodé 'â', # â mal encodé
'ä', # ä mal encodé 'ä', # ä mal encodé
'ç', # ç mal encodé 'ç', # ç mal encodé
@ -95,10 +96,29 @@ def is_encoding_issue(filename):
'ï', # ï mal encodé 'ï', # ï mal encodé
'Å"', # œ mal encodé 'Å"', # œ mal encodé
'É', # É mal encodé 'É', # É mal encodé
'À', # À mal encodé 'À', # À mal encodé (avec espace normal)
'Â', #  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) if not any(pattern in filename for pattern in patterns):
return False
# Double vérification : essaye de convertir pour voir si ça produit un résultat valide
try:
fixed = filename.encode('iso-8859-1').decode('utf-8')
# Si la conversion réussit et produit quelque chose de différent, c'est un problème d'encodage
return fixed != filename
except (UnicodeDecodeError, UnicodeEncodeError):
# Si la conversion échoue, ce n'est peut-être pas le bon type de problème
# ou alors c'est un mélange d'encodages
return False
def fix_encoding(filename): def fix_encoding(filename):

View File

@ -16,11 +16,20 @@ import sys
def is_encoding_issue(filename): def is_encoding_issue(filename):
"""Détecte si un nom de fichier contient des problèmes d'encodage.""" """Détecte si un nom de fichier contient des problèmes d'encodage."""
patterns = [ patterns = [
'é', 'è', 'ê', 'ë', 'à ', 'â', 'ä', 'ç', 'é', 'è', 'ê', 'ë', 'à ', 'Ã\xa0', 'â', 'ä', 'ç',
'ô', 'ö', 'ù', 'û', 'ü', 'î', 'ï', 'Å"', 'ô', 'ö', 'ù', 'û', 'ü', 'î', 'ï', 'Å"',
'É', 'À' 'É', 'À', 'Â', 'È', 'Ê', 'ÃŽ', 'Ã"', 'Ù', 'Û', 'Ç'
] ]
return any(pattern in filename for pattern in patterns)
if not any(pattern in filename for pattern in patterns):
return False
# Double vérification : essaye de convertir
try:
fixed = filename.encode('iso-8859-1').decode('utf-8')
return fixed != filename
except (UnicodeDecodeError, UnicodeEncodeError):
return False
def fix_encoding(filename): def fix_encoding(filename):