30 lines
941 B
Python
30 lines
941 B
Python
import os
|
|
from dotenv import load_dotenv
|
|
|
|
|
|
load_dotenv()
|
|
|
|
|
|
class Config:
|
|
REDMINE_URL = os.getenv("REDMINE_URL", "").rstrip("/")
|
|
REDMINE_USER = os.getenv("REDMINE_USER")
|
|
REDMINE_PASSWORD = os.getenv("REDMINE_PASSWORD")
|
|
DEFAULT_FROM_DATE = os.getenv("DEFAULT_FROM_DATE")
|
|
DEFAULT_TO_DATE = os.getenv("DEFAULT_TO_DATE")
|
|
|
|
@classmethod
|
|
def get_default_date_range(cls) -> str:
|
|
if cls.DEFAULT_FROM_DATE and cls.DEFAULT_TO_DATE:
|
|
return f"{cls.DEFAULT_FROM_DATE}--{cls.DEFAULT_TO_DATE}"
|
|
# fallback hardcoded
|
|
return "2025-12-19--2026-01-31"
|
|
|
|
@classmethod
|
|
def validate(cls) -> None:
|
|
if not cls.REDMINE_URL:
|
|
raise ValueError("REDMINE_URL is required (set via env or .env)")
|
|
if not cls.REDMINE_USER:
|
|
raise ValueError("REDMINE_USER is required")
|
|
if not cls.REDMINE_PASSWORD:
|
|
raise ValueError("REDMINE_PASSWORD is required")
|