[30388f42] Infrastructure Hardening: Repaired CE/Connector DB schema, fixed frontend styling build, implemented robust echo shield in worker v2.1.1, and integrated Lead Engine into gateway.
This commit is contained in:
51
config.py
51
config.py
@@ -9,21 +9,17 @@ und das Spalten-Mapping für das Google Sheet.
|
||||
|
||||
import os
|
||||
import re
|
||||
|
||||
import logging
|
||||
|
||||
# ==============================================================================
|
||||
# 1. GLOBALE KONSTANTEN UND DATEIPFADE
|
||||
# ==============================================================================
|
||||
|
||||
# --- Dateipfade (NEU: Feste Pfade für Docker-Betrieb) ---
|
||||
# Das Basisverzeichnis ist im Docker-Kontext immer /app.
|
||||
BASE_DIR = "/app"
|
||||
|
||||
CREDENTIALS_FILE = os.path.join(BASE_DIR, "service_account.json")
|
||||
API_KEY_FILE = os.path.join(BASE_DIR, "gemini_api_key.txt")
|
||||
SERP_API_KEY_FILE = os.path.join(BASE_DIR, "serpapikey.txt")
|
||||
GENDERIZE_API_KEY_FILE = os.path.join(BASE_DIR, "genderize_API_Key.txt")
|
||||
# API keys are now read from environment variables directly. File paths are deprecated.
|
||||
API_KEY_FILE = None
|
||||
SERP_API_KEY_FILE = None
|
||||
GENDERIZE_API_KEY_FILE = None
|
||||
BRANCH_MAPPING_FILE = None
|
||||
LOG_DIR = os.path.join(BASE_DIR, "Log_from_docker") # Log in den gemounteten Ordner schreiben
|
||||
|
||||
@@ -501,19 +497,18 @@ class Config:
|
||||
|
||||
@classmethod
|
||||
def load_api_keys(cls):
|
||||
"""Laedt API-Schluessel aus den definierten Dateien."""
|
||||
"""Laedt API-Schluessel aus Umgebungsvariablen."""
|
||||
logger = logging.getLogger(__name__)
|
||||
logger.info("Lade API-Schluessel...")
|
||||
cls.API_KEYS['openai'] = cls._load_key_from_file(API_KEY_FILE)
|
||||
cls.API_KEYS['serpapi'] = cls._load_key_from_file(SERP_API_KEY_FILE)
|
||||
cls.API_KEYS['genderize'] = cls._load_key_from_file(GENDERIZE_API_KEY_FILE)
|
||||
logger.info("Lade API-Schluessel aus Umgebungsvariablen...")
|
||||
cls.API_KEYS['gemini'] = os.getenv("GEMINI_API_KEY")
|
||||
cls.API_KEYS['openai'] = os.getenv("OPENAI_API_KEY") # Fallback/Compatibility
|
||||
cls.API_KEYS['serpapi'] = os.getenv("SERP_API_KEY")
|
||||
cls.API_KEYS['genderize'] = os.getenv("GENDERIZE_API_KEY")
|
||||
|
||||
if cls.API_KEYS.get('openai'):
|
||||
# Hier nehmen wir an, dass 'openai' für Gemini verwendet wird (Legacy)
|
||||
# Falls in helpers.py direkt auf 'gemini' zugegriffen wird, müsste das hier auch gesetzt werden.
|
||||
logger.info("Gemini API Key (via 'openai' slot) erfolgreich geladen.")
|
||||
if cls.API_KEYS.get('gemini') or cls.API_KEYS.get('openai'):
|
||||
logger.info("Gemini/OpenAI API Key erfolgreich geladen.")
|
||||
else:
|
||||
logger.warning("Gemini API Key konnte nicht geladen werden. KI-Funktionen sind deaktiviert.")
|
||||
logger.warning("Gemini/OpenAI API Key konnte nicht geladen werden. KI-Funktionen sind deaktiviert.")
|
||||
|
||||
if not cls.API_KEYS.get('serpapi'):
|
||||
logger.warning("SerpAPI Key konnte nicht geladen werden. Suchfunktionen sind deaktiviert.")
|
||||
@@ -521,24 +516,10 @@ class Config:
|
||||
logger.warning("Genderize API Key konnte nicht geladen werden. Geschlechtserkennung ist eingeschraenkt.")
|
||||
|
||||
@staticmethod
|
||||
def _load_key_from_file(filepath):
|
||||
"""Hilfsfunktion zum Laden eines Schluessels aus einer Datei."""
|
||||
def _load_key_from_file(filepath): # This method is now deprecated and should not be used
|
||||
logger = logging.getLogger(__name__)
|
||||
abs_path = os.path.abspath(filepath)
|
||||
try:
|
||||
with open(abs_path, "r", encoding="utf-8") as f:
|
||||
key = f.read().strip()
|
||||
if key:
|
||||
return key
|
||||
else:
|
||||
logger.warning(f"API key file is empty: '{abs_path}'")
|
||||
return None
|
||||
except FileNotFoundError:
|
||||
logger.warning(f"API key file not found at path: '{abs_path}'")
|
||||
return None
|
||||
except Exception as e:
|
||||
logger.error(f"Error reading key file '{abs_path}': {e}")
|
||||
return None
|
||||
logger.warning(f"_load_key_from_file is deprecated and should not be used. Tried to load from {filepath}")
|
||||
return None
|
||||
|
||||
# ==============================================================================
|
||||
# 4. GLOBALE DATENSTRUKTUR-VARIABLEN
|
||||
|
||||
Reference in New Issue
Block a user