Files
redmine-reporter/redmine_reporter/config.py
Кокос Артем Николаевич 59d819fdc1 Customizable date range
2026-01-20 12:49:25 +07:00

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")