🐛 fix aiohttp config trierule bugs

This commit is contained in:
yanyongyu
2021-12-27 02:26:02 +08:00
parent fd9ec5e6fa
commit c1e06c2ec0
3 changed files with 23 additions and 13 deletions

View File

@ -29,6 +29,9 @@ from pydantic.env_settings import (
env_file_sentinel,
)
from nonebot.log import logger
from nonebot.utils import escape_tag
class CustomEnvSettings(EnvSettingsSource):
def __call__(self, settings: BaseSettings) -> Dict[str, Any]:
@ -90,9 +93,11 @@ class CustomEnvSettings(EnvSettingsSource):
env_val = env_vars[env_name]
try:
if env_val:
env_val = settings.__config__.json_loads(env_val)
env_val = settings.__config__.json_loads(env_val.strip())
except ValueError as e:
pass
logger.opt(colors=True, exception=e).trace(
f"Error while parsing JSON for {escape_tag(env_name)}. Assumed as string."
)
d[env_name] = env_val