infracloud/dev-scripts/deep_clean_frontend.py

59 lines
2.1 KiB
Python

import os
import re
def deep_clean(content):
# Padrão quádruplo corrompido (ex: ÃÆ’ƒÂ¡ -> á)
patterns = {
r'ÃÆ’ƒÂ¡': 'á',
r'ÃÆ’ƒÂ£': 'ã',
r'ÃÆ’ƒÂª': 'ê',
r'ÃÆ’ƒÂ§': 'ç',
r'ÃÆ’ƒÂ³': 'ó',
r'ÃÆ’ƒÂ­': 'í',
r'ÃÆ’ƒÂº': 'ú',
r'ÃÆ’ƒÂ©': 'é',
r'ÃÆ’ƒÂ´': 'ô',
r'ÃÆ’ƒÂ ': 'à',
r'ÃÆ’ÂÂ§ÃÆ’£': 'çã',
r'ÃÆ’§': 'ç',
r'ÃÆ’£': 'ã',
r'ÃÆ’¡': 'á',
r'ÂÂÂ': '', # Lixo residual
r'Æ’': '', # Lixo residual
r'ÃÆ’': '', # Lixo residual
}
# Rodar as substituições mais complexas primeiro
for pattern, replacement in patterns.items():
content = re.sub(pattern, replacement, content)
# Limpeza final de caracteres simples se sobrarem
simple_fixes = {
'á': 'á', 'ã': 'ã', 'ê': 'ê', 'ç': 'ç', 'ó': 'ó',
'í': 'í', 'ú': 'ú', 'é': 'é', 'ô': 'ô'
}
for old, new in simple_fixes.items():
content = content.replace(old, new)
return content
def process_file(path):
try:
with open(path, 'r', encoding='utf-8') as f:
content = f.read()
cleaned = deep_clean(content)
if cleaned != content:
print(f"Limpeza profunda: {path}")
with open(path, 'w', encoding='utf-8') as f:
f.write(cleaned)
except Exception as e:
print(f"Erro em {path}: {e}")
if __name__ == "__main__":
dir_path = r"C:\dev\saveinmed\frontend\src"
for root, dirs, files in os.walk(dir_path):
for f in files:
if f.endswith(('.tsx', '.ts')):
process_file(os.path.join(root, f))