Refactor: Code-Duplikation reduziert und Dead Code entfernt
- blake2b-Hash-Berechnung in zentrale Utility-Funktion extrahiert (src/utils.py) mit chunk-basiertem Hashing für bessere RAM-Effizienz - _transform_all_xml_files und _transform_all_xml_files_force zu einer Methode mit force-Parameter zusammengeführt - Project-Lookup-Methoden (getXsl, getJavaVm, etc.) über gemeinsame _lookup()-Hilfsmethode konsolidiert - Duplizierte XML-Sammel-Methoden entfernt, Set-basierte Duplikatsprüfung eingeführt - Ungenutzte Imports, Dead Code und wirkungslose Ausdrücke entfernt Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+12
-24
@@ -104,41 +104,29 @@ class Project(BaseModel):
|
||||
postgre_sql_db_id: int = Field(..., description="ID der PostgreSQL Datenbank", gt=0)
|
||||
fop_config_dir: Path | None = Field(None, description="Optionaler Pfad zum Apache FOP Config-Verzeichnis")
|
||||
|
||||
def getXsl(self) -> str:
|
||||
global app_settings
|
||||
value = [x.name for x in app_settings.xsl_dirs if x.id == self.xsl_dir_id]
|
||||
@staticmethod
|
||||
def _lookup(collection, item_id: int, attr: str) -> str:
|
||||
"""Sucht einen Wert in einer Konfigurationsliste anhand der ID."""
|
||||
value = [getattr(x, attr) for x in collection if x.id == item_id]
|
||||
return value[0] if value else ""
|
||||
|
||||
return value[0] if len(value) else ""
|
||||
def getXsl(self) -> str:
|
||||
return self._lookup(app_settings.xsl_dirs, self.xsl_dir_id, "name")
|
||||
|
||||
def getJavaVm(self) -> str:
|
||||
global app_settings
|
||||
value = [x.version for x in app_settings.java_vms if x.id == self.java_vm_id]
|
||||
|
||||
return value[0] if len(value) else ""
|
||||
return self._lookup(app_settings.java_vms, self.java_vm_id, "version")
|
||||
|
||||
def getSaxon(self) -> str:
|
||||
global app_settings
|
||||
value = [x.version for x in app_settings.saxon_jars if x.id == self.saxon_jar_id]
|
||||
|
||||
return value[0] if len(value) else ""
|
||||
return self._lookup(app_settings.saxon_jars, self.saxon_jar_id, "version")
|
||||
|
||||
def getApacheFop(self) -> str:
|
||||
global app_settings
|
||||
value = [x.version for x in app_settings.apache_fops if x.id == self.apache_fop_id]
|
||||
|
||||
return value[0] if len(value) else ""
|
||||
return self._lookup(app_settings.apache_fops, self.apache_fop_id, "version")
|
||||
|
||||
def getDiffPdf(self) -> str:
|
||||
global app_settings
|
||||
value = [x.version for x in app_settings.diff_pdfs if x.id == self.diff_pdf_id]
|
||||
|
||||
return value[0] if len(value) else ""
|
||||
return self._lookup(app_settings.diff_pdfs, self.diff_pdf_id, "version")
|
||||
|
||||
def getPostgreSqlDb(self) -> str:
|
||||
global app_settings
|
||||
value = [x.name for x in app_settings.postgresql_dbs if x.id == self.postgre_sql_db_id]
|
||||
|
||||
return value[0] if len(value) else ""
|
||||
return self._lookup(app_settings.postgresql_dbs, self.postgre_sql_db_id, "name")
|
||||
|
||||
|
||||
class AppSettings(BaseSettings):
|
||||
|
||||
Reference in New Issue
Block a user