Skip to content

Commit b572d58

Browse files
Lukas Geigerclaude
andcommitted
fix: bulk bugfix session 2026-03-13 -- Emojis entfernt, latin-1-Fallback Warnung, Fehlerbehandlung
- Emoji-Praefixe in Ausgabe-Strings durch ASCII-Tags ([ANALYSE], [IMPORTS], etc.) ersetzt - latin-1-Fallback gibt jetzt UnicodeWarning aus statt still zu scheitern - Fehlerausgaben vereinheitlicht: [FEHLER], [WARNUNG], [OK] Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 410c05b commit b572d58

1 file changed

Lines changed: 19 additions & 12 deletions

File tree

MethodenAnalyser3.py

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import difflib
1212
import datetime
1313
import sqlite3
14+
import warnings
1415
from typing import Set, Dict, List, Tuple, Any, Optional
1516
from dataclasses import dataclass, field
1617
from functools import lru_cache
@@ -570,6 +571,12 @@ def analyze_file(path: str) -> AnalysisResult:
570571
# Fallback zu latin-1
571572
with open(path, "r", encoding="latin-1") as f:
572573
code = f.read()
574+
warnings.warn(
575+
f"Datei '{path}' konnte nicht als UTF-8 gelesen werden. "
576+
"latin-1 Fallback wurde verwendet -- Analyse-Ergebnisse koennen Artefakte enthalten.",
577+
UnicodeWarning,
578+
stacklevel=2,
579+
)
573580
except Exception as e:
574581
raise RuntimeError(f"Fehler beim Lesen der Datei: {e}")
575582
except Exception as e:
@@ -800,7 +807,7 @@ def generate_report(result: AnalysisResult) -> str:
800807
report.append("=" * 70 + "\n\n")
801808

802809
# Hauptergebnisse
803-
report.append("🔍 HAUPTERGEBNISSE\n")
810+
report.append("[ANALYSE] HAUPTERGEBNISSE\n")
804811
report.append("-" * 70 + "\n")
805812
report.append(f"Fehlende Definitionen ({len(result.missing_defs)}):\n")
806813
report.append(f" {', '.join(result.missing_defs) if result.missing_defs else '(keine)'}\n\n")
@@ -813,7 +820,7 @@ def generate_report(result: AnalysisResult) -> str:
813820

814821
# Import-Analyse
815822
if result.import_scopes:
816-
report.append("\n📦 IMPORT-SCOPE-ANALYSE\n")
823+
report.append("\n[IMPORTS] IMPORT-SCOPE-ANALYSE\n")
817824
report.append("-" * 70 + "\n")
818825

819826
scopes = result.import_scopes
@@ -830,7 +837,7 @@ def generate_report(result: AnalysisResult) -> str:
830837

831838
# Duplikate
832839
if result.duplicate_imports:
833-
report.append("\n⚠️ DOPPELTE IMPORTS\n")
840+
report.append("\n[WARNUNG] DOPPELTE IMPORTS\n")
834841
report.append("-" * 70 + "\n")
835842
report.append(f" {', '.join(result.duplicate_imports)}\n\n")
836843

@@ -852,7 +859,7 @@ def generate_report(result: AnalysisResult) -> str:
852859
report.append("\n")
853860

854861
# Statistik
855-
report.append("\n📊 STATISTIK\n")
862+
report.append("\n[STATS] STATISTIK\n")
856863
report.append("-" * 70 + "\n")
857864
report.append(f" Aufrufe gesamt: {len(result.calls)}\n")
858865
report.append(f" Definitionen gesamt: {len(result.defs)}\n")
@@ -952,17 +959,17 @@ def run_analysis(output_widget: scrolledtext.ScrolledText) -> None:
952959
_last_analysis_result = result
953960
except FileNotFoundError as e:
954961
output_widget.delete("1.0", tk.END)
955-
output_widget.insert(tk.END, f"❌ Fehler: {e}")
962+
output_widget.insert(tk.END, f"[FEHLER] {e}")
956963
messagebox.showerror("Dateifehler", str(e))
957964
return
958965
except RuntimeError as e:
959966
output_widget.delete("1.0", tk.END)
960-
output_widget.insert(tk.END, f"❌ Fehler: {e}")
967+
output_widget.insert(tk.END, f"[FEHLER] {e}")
961968
messagebox.showerror("Analysefehler", str(e))
962969
return
963970
except Exception as e:
964971
output_widget.delete("1.0", tk.END)
965-
output_widget.insert(tk.END, f" Unerwarteter Fehler: {e}")
972+
output_widget.insert(tk.END, f"[FEHLER] Unerwarteter Fehler: {e}")
966973
messagebox.showerror("Fehler", f"Unerwarteter Fehler: {e}")
967974
return
968975

@@ -980,13 +987,13 @@ def run_analysis(output_widget: scrolledtext.ScrolledText) -> None:
980987
f.write(f"Datum: {datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n\n")
981988
f.write(generate_report(result))
982989

983-
output_widget.insert(tk.END, f"\n Report gespeichert: {export_path}")
984-
990+
output_widget.insert(tk.END, f"\n[OK] Report gespeichert: {export_path}")
991+
985992
except PermissionError:
986-
output_widget.insert(tk.END, f"\n⚠️ Keine Schreibberechtigung für Export")
993+
output_widget.insert(tk.END, f"\n[WARNUNG] Keine Schreibberechtigung fuer Export")
987994
messagebox.showwarning("Export-Fehler", "Keine Schreibberechtigung")
988995
except Exception as e:
989-
output_widget.insert(tk.END, f"\n⚠️ Export-Fehler: {e}")
996+
output_widget.insert(tk.END, f"\n[WARNUNG] Export-Fehler: {e}")
990997
messagebox.showwarning("Export-Fehler", str(e))
991998

992999

@@ -1058,7 +1065,7 @@ def auto_fix_unused_imports(output_widget: scrolledtext.ScrolledText) -> None:
10581065
f.writelines(new_lines)
10591066

10601067
# Ausgabe
1061-
output_widget.insert(tk.END, f"\n\n AUTO-FIX ERFOLGREICH\n")
1068+
output_widget.insert(tk.END, f"\n\n[OK] AUTO-FIX ERFOLGREICH\n")
10621069
output_widget.insert(tk.END, f"Entfernte Zeilen: {sorted(lines_to_remove)}\n")
10631070
output_widget.insert(tk.END, f"Backup erstellt: {backup_path}\n")
10641071
output_widget.insert(tk.END, f"\nBitte Datei erneut analysieren zur Überprüfung.")

0 commit comments

Comments
 (0)