lavkach3

Форк
0
/
basic_config.py 
52 строки · 1.2 Кб
1
import logging
2
import os
3

4
from dotenv import load_dotenv
5
from pydantic import BaseConfig
6

7
from core.service_config import Config as CoreConfig
8

9
BaseConfig.arbitrary_types_allowed = True
10
logging.basicConfig(level=logging.INFO)
11

12
load_dotenv()
13

14

15
class Config(CoreConfig):
16
    BROKER_PATH: str = 'app.basic.basic_server:app'
17
    APP_HOST: str = os.environ.get("BASIC_HOST") or os.environ.get("APP_HOST") or '127.0.0.1'
18
    APP_PORT: int = os.environ.get("BASIC_PORT") or os.environ.get("APP_PORT") or '8001'
19
    APP_PROTOCOL: str = os.environ.get('BASIC_PROTOCOL') or os.environ.get('APP_PROTOCOL') or 'http'
20

21

22
class DevelopmentConfig(Config):
23
    ...
24

25
class DockerConfig(Config):
26
    APP_HOST: str = 'basic_app'
27
    APP_PORT: int = '80'
28

29
class LocalConfig(Config):
30
    ...
31

32

33
class ProductionConfig(Config):
34
    ...
35

36

37
def get_config():
38
    env = os.getenv("ENV", "local")
39
    for name, value in os.environ.items():
40
        # logging.info("{0}: {1}".format(name, value))
41
        # print("{0}: {1}".format(name, value))
42
        pass
43
    config_type = {
44
        "dev": DevelopmentConfig(),
45
        "local": LocalConfig(),
46
        "docker": DockerConfig(),
47
        "prod": ProductionConfig(),
48
    }
49
    return config_type[env]
50

51

52
config: Config = get_config()
53

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.