bharatgraph / check_syntax.py
abinazebinoy's picture
fix(ascii): replace all non-ASCII chars in Python source files
fa87992
Raw
History Blame Contribute Delete
799 Bytes
import ast, os
errors = []
for root, dirs, files in os.walk('.'):
dirs[:] = [d for d in dirs if d not in ('__pycache__', '.git', 'data', 'logs', 'venv')]
for f in files:
if not f.endswith('.py'):
continue
path = os.path.join(root, f)
# Try UTF-8 first, then latin-1 as fallback
for enc in ('utf-8', 'latin-1', 'cp1252'):
try:
src = open(path, encoding=enc).read()
ast.parse(src)
break
except UnicodeDecodeError:
continue
except SyntaxError as e:
errors.append(f'{path}:{e.lineno}: {e.msg}')
break
print(f'Syntax: {len(errors)} errors' if errors else 'OK: all Python files clean')
for e in errors:
print(' ', e)