27 lines
941 B
Python
27 lines
941 B
Python
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)
|