Files
parseur_logs/main.py
2025-07-10 10:52:32 +02:00

38 lines
1.0 KiB
Python

# main.py
import json
from pathlib import Path
from utils.texttools import split_display_sections
from models.hpe5130 import SwitchHPE5130
def read_file_with_fallback(path: Path) -> str:
try:
return path.read_text(encoding="utf-8")
except UnicodeDecodeError:
print("[warn] UTF-8 échoué, tentative avec cp1252...")
return path.read_text(encoding="cp1252")
def main():
log_path = Path("data/example-a.log")
if not log_path.exists():
print(f"Fichier non trouvé : {log_path}")
return
content = read_file_with_fallback(log_path)
sections = split_display_sections(content)
switch = SwitchHPE5130()
for section in sections:
switch.parse_block(section["section"], section["content"])
output_path = Path("data/switch_parsed.json")
with open(output_path, "w", encoding="utf-8") as f:
json.dump(switch.to_dict(), f, indent=2, ensure_ascii=False)
print(f"Switch exporté dans {output_path}")
if __name__ == "__main__":
main()