Files
backblaze-invoices-downloader/config.py
2026-04-12 22:37:35 +02:00

29 lines
1.1 KiB
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", "").replace("\\n", "\n")
OUTPUT_DIR = os.getenv("OUTPUT_DIR", "./invoices")
BROWSER_DATA_DIR = os.getenv("BROWSER_DATA_DIR", "./.browser_data")
BROWSER_HEADLESS = os.getenv("BROWSER_HEADLESS", "true").lower() == "true"
BROWSER_TIMEOUT = int(os.getenv("BROWSER_TIMEOUT", "60000"))
LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO")
DOWNLOAD_ALL_YEARS = os.getenv("DOWNLOAD_ALL_YEARS", "false").lower() in ("1", "true", "yes", "y")
@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)