-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathenv.py
38 lines (24 loc) · 818 Bytes
/
env.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import dotenv
from pydantic.v1 import BaseSettings
dotenv.load_dotenv(dotenv_path=dotenv.find_dotenv(usecwd=True))
class Settings(BaseSettings):
def __new__(cls, *args, **kwargs):
cls.update_forward_refs()
return super(Settings, cls).__new__(cls) # pylint: disable=E1120
class Config(BaseSettings.Config):
case_sensitive = False
class PBConfig(Settings):
token: str = ""
"""pb token for upload"""
class Config(Settings.Config):
env_prefix = "pb_"
class WebConfig(Settings):
host: str = "0.0.0.0"
port: int = 5688
class Config(Settings.Config):
env_prefix = "web_"
class ApplicationConfig(Settings):
pb: PBConfig = PBConfig()
web: WebConfig = WebConfig()
ApplicationConfig.update_forward_refs()
config = ApplicationConfig()