Fix: Code-Qualität und Effizienz verbessern (v1.5.1)
- main.py: print() durch logging ersetzt, cleanup nach Logger-Init verschoben - conf.py: funktionsloses global-Statement entfernt - database.py: unerreichbaren zweiten Projekt-Check entfernt - hash_calculation.py: deprecated _handle_xml_file_drop entfernt, nutzlosen _get_all_project_xml_files-Wrapper entfernt, seen_paths-Scope-Bug in rekursiver Traversierung behoben (O(N²) → O(N)), veraltete List[]-Syntax und ungenutzte Imports bereinigt - transform.py: TOCTOU-Muster (exists+stat) durch direktes stat() mit FileNotFoundError ersetzt; fop_conf.exists() gecacht Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+6
-5
@@ -163,12 +163,12 @@ class TransformationJob:
|
||||
Returns:
|
||||
bool: True wenn New-PDF existiert und aktueller ist als alle Inputs
|
||||
"""
|
||||
if not self.new_pdf.exists():
|
||||
try:
|
||||
output_mtime = self.new_pdf.stat().st_mtime
|
||||
except FileNotFoundError:
|
||||
logger.debug(f"New-PDF existiert nicht: {self.new_pdf}")
|
||||
return False
|
||||
|
||||
output_mtime = self.new_pdf.stat().st_mtime
|
||||
|
||||
# Prüfe XML-Datei
|
||||
xml_abs = self.project_dir / self.xml_file
|
||||
if xml_abs.exists() and xml_abs.stat().st_mtime > output_mtime:
|
||||
@@ -384,10 +384,11 @@ class TransformationJob:
|
||||
# Fallback: Traditionelle subprocess-Methode (langsamer, aber robuster)
|
||||
|
||||
# Apache FOP Kommandozeile
|
||||
fop_conf_exists = self.fop_conf.exists()
|
||||
cmd_line = [
|
||||
str(self.fop_cmd),
|
||||
"-c",
|
||||
str(self.fop_conf) if self.fop_conf.exists() else "",
|
||||
str(self.fop_conf) if fop_conf_exists else "",
|
||||
"-r",
|
||||
"-fo",
|
||||
str(self.temp_fo),
|
||||
@@ -396,7 +397,7 @@ class TransformationJob:
|
||||
]
|
||||
|
||||
# Entferne leere Config-Parameter wenn fop.xconf nicht existiert
|
||||
if not self.fop_conf.exists():
|
||||
if not fop_conf_exists:
|
||||
cmd_line = [c for c in cmd_line if c not in ["-c", ""]]
|
||||
|
||||
logger.info(f"Starte Apache FOP PDF-Generierung: {self.xml_file.name}")
|
||||
|
||||
Reference in New Issue
Block a user