diff --git a/electro/settings.py b/electro/settings.py index 39eac1e..fae307d 100644 --- a/electro/settings.py +++ b/electro/settings.py @@ -30,7 +30,7 @@ class Settings(BaseSettings): BOT_LANGUAGE: str = "en" # Should mirror the `DEFAULT_LOCALE` setting. User in the Python code # Postgres database credentials - DATABASE_URL: PostgresDsn | None + DATABASE_URL: PostgresDsn | None = None # if the `DATABASE_URL` is not set, then use the following credentials: POSTGRES_HOST: str | None = None POSTGRES_USER: str | None = None @@ -41,7 +41,7 @@ class Settings(BaseSettings): ENABLE_DATABASE_SSL: bool = True # Redis credentials - REDIS_URL: RedisDsn | None + REDIS_URL: RedisDsn | None = None # if the `REDIS_URL` is not set, then use the following credentials: REDIS_HOST: str | None = None REDIS_PORT: int | None = 6379 diff --git a/electro/toolkit/redis_storage.py b/electro/toolkit/redis_storage.py index 7047838..c87c9f2 100644 --- a/electro/toolkit/redis_storage.py +++ b/electro/toolkit/redis_storage.py @@ -13,10 +13,12 @@ from ..settings import settings -if not (redis_url := settings.REDIS_URL): +if not settings.REDIS_URL: redis_url = f"redis://{settings.REDIS_HOST}:{settings.REDIS_PORT}/{settings.REDIS_DB}" +else: + redis_url = str(settings.REDIS_URL) -redis_config: dict = dj_redis_url.config(default=str(redis_url)) +redis_config: dict = dj_redis_url.config(default=redis_url) STATE_KEY = "state" STATE_DATA_KEY = "data" diff --git a/electro/toolkit/tortoise_orm.py b/electro/toolkit/tortoise_orm.py index 031bef1..0f0ca89 100644 --- a/electro/toolkit/tortoise_orm.py +++ b/electro/toolkit/tortoise_orm.py @@ -45,11 +45,14 @@ class Model(tortoise_Model, metaclass=ModelMeta): def get_tortoise_config(): """Get the configuration for the `tortoise-orm`.""" - if not (database_url := str(settings.DATABASE_URL)): + if not settings.DATABASE_URL: database_url = ( f"postgres://{settings.POSTGRES_USER}:{settings.POSTGRES_PASSWORD}@" f"{settings.POSTGRES_HOST}:{settings.POSTGRES_PORT}/{settings.POSTGRES_DB}" ) + else: + database_url = str(settings.DATABASE_URL) + db = expand_db_url(database_url) ctx = False if settings.ENABLE_DATABASE_SSL: