import os from pathlib import Path from iti.config import ( BaseConfig, DevConfig as BaseDevConfig, ProdConfig as BaseProdConfig, ) BASE_DIR = Path(__file__).resolve().parent class DevConfig(BaseDevConfig): def __init__(self) -> None: super().__init__() self.app_name = "{{ project_name }}" self.base_dir = BASE_DIR self.file_storage["LOCAL"]["base_path"] = str(BASE_DIR / "runtime" / "uploads") self.log_dir = str(BASE_DIR / "runtime" / "logs") class TestConfig(BaseConfig): def __init__(self) -> None: super().__init__( app_name="{{ project_name }}", app_env="test", testing=True, database_url=os.getenv( "DATABASE_URL", f"mysql+pymysql://{os.getenv('MYSQL_USER', 'root')}:" f"{os.getenv('MYSQL_PASSWORD', 'password')}@" f"{os.getenv('MYSQL_HOST', '127.0.0.1')}:" f"{os.getenv('MYSQL_PORT', '3306')}/" f"{os.getenv('MYSQL_DATABASE', 'app_test')}?charset=utf8mb4", ), base_dir=BASE_DIR, ratelimit_enabled=False, log_file_enabled=False, ) self.app_name = "{{ project_name }}" self.base_dir = BASE_DIR self.log_dir = str(BASE_DIR / "runtime" / "logs") class ProdConfig(BaseProdConfig): def __init__(self) -> None: super().__init__() self.app_name = "{{ project_name }}" self.base_dir = BASE_DIR self.log_dir = str(BASE_DIR / "runtime" / "logs") config = { "dev": DevConfig, "test": TestConfig, "prod": ProdConfig, "default": DevConfig, }