import os from pathlib import Path from dotenv import load_dotenv load_dotenv() class Config: BACKBLAZE_EMAIL = os.getenv("BACKBLAZE_EMAIL", "") BACKBLAZE_PASSWORD = os.getenv("BACKBLAZE_PASSWORD", "") INVOICE_VAT_ID = os.getenv("INVOICE_VAT_ID", "") INVOICE_DOCUMENT_TYPE = os.getenv("INVOICE_DOCUMENT_TYPE", "") INVOICE_COMPANY = os.getenv("INVOICE_COMPANY", "") INVOICE_NOTES = os.getenv("INVOICE_NOTES", "") OUTPUT_DIR = os.getenv("OUTPUT_DIR", "./invoices") BROWSER_HEADLESS = os.getenv("BROWSER_HEADLESS", "true").lower() == "true" BROWSER_TIMEOUT = int(os.getenv("BROWSER_TIMEOUT", "30000")) LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO") @classmethod def validate(cls): if not cls.BACKBLAZE_EMAIL or not cls.BACKBLAZE_PASSWORD: raise ValueError("BACKBLAZE_EMAIL and BACKBLAZE_PASSWORD must be set") Path(cls.OUTPUT_DIR).mkdir(parents=True, exist_ok=True)