⬆️ fit pydantic 1.8

This commit is contained in:
yanyongyu 2021-03-01 00:30:06 +08:00
parent dc38a98180
commit b23e845726

View File

@ -21,8 +21,8 @@ from ipaddress import IPv4Address
from typing import Any, Set, Dict, Tuple, Mapping, Optional from typing import Any, Set, Dict, Tuple, Mapping, Optional
from pydantic import BaseSettings, IPvAnyAddress from pydantic import BaseSettings, IPvAnyAddress
from pydantic.env_settings import env_file_sentinel, SettingsSourceCallable from pydantic.env_settings import SettingsError, InitSettingsSource, EnvSettingsSource
from pydantic.env_settings import read_env_file, SettingsError, EnvSettingsSource from pydantic.env_settings import read_env_file, env_file_sentinel, SettingsSourceCallable
class CustomEnvSettings(EnvSettingsSource): class CustomEnvSettings(EnvSettingsSource):
@ -97,13 +97,15 @@ class BaseConfig(BaseSettings):
@classmethod @classmethod
def customise_sources( def customise_sources(
cls, cls,
init_settings: SettingsSourceCallable, init_settings: InitSettingsSource,
env_settings: SettingsSourceCallable, env_settings: EnvSettingsSource,
file_secret_settings: SettingsSourceCallable, file_secret_settings: SettingsSourceCallable,
) -> Tuple[SettingsSourceCallable, ...]: ) -> Tuple[SettingsSourceCallable, ...]:
return init_settings, CustomEnvSettings( common_config = init_settings.init_kwargs.pop("_common_config", {})
env_settings.env_file, return (init_settings,
env_settings.env_file_encoding), file_secret_settings CustomEnvSettings(env_settings.env_file,
env_settings.env_file_encoding),
InitSettingsSource(common_config), file_secret_settings)
class Env(BaseConfig): class Env(BaseConfig):