Auto-update: Tue Jul 30 11:54:34 PDT 2024

This commit is contained in:
sanj 2024-07-30 11:54:34 -07:00
parent af7d0c3fd5
commit 6018a025df

View file

@ -14,7 +14,7 @@ import reverse_geocoder as rg
from pathlib import Path from pathlib import Path
from typing import Any, Dict, List, Optional, Tuple, Union, TypeVar from typing import Any, Dict, List, Optional, Tuple, Union, TypeVar
from dotenv import load_dotenv from dotenv import load_dotenv
from pydantic import BaseModel, Field, create_model from pydantic import BaseModel, Field, create_model, validator
from concurrent.futures import ThreadPoolExecutor from concurrent.futures import ThreadPoolExecutor
from contextlib import asynccontextmanager from contextlib import asynccontextmanager
from datetime import datetime, timedelta, timezone from datetime import datetime, timedelta, timezone
@ -204,12 +204,16 @@ class APIConfig(BaseModel):
TZ: str TZ: str
KEYS: List[str] KEYS: List[str]
GARBAGE: Dict[str, Any] GARBAGE: Dict[str, Any]
db_pool: DatabasePool = None db_pool: Optional[DatabasePool] = Field(default=None, exclude=True)
def __init__(self, **data): def __init__(self, **data):
super().__init__(**data) super().__init__(**data)
self.db_pool = DatabasePool() self.db_pool = DatabasePool()
@validator('db_pool', pre=True, always=True)
def set_db_pool(cls, v):
return v or DatabasePool()
@classmethod @classmethod
def load(cls, config_path: Union[str, Path], secrets_path: Union[str, Path]): def load(cls, config_path: Union[str, Path], secrets_path: Union[str, Path]):
config_path = cls._resolve_path(config_path, 'config') config_path = cls._resolve_path(config_path, 'config')