示例#1
0
class AppConfig(Config):
    app_host = field("APP_HOST", default="0.0.0.0")
    app_port = field("APP_PORT", default=9999)

    insta_cookie = field("INSTA_COOKIE")

    vk_token = field("VK_TOKEN")
示例#2
0
class SettingsConfig(Config):
    api_token = field("api_token", provider=provider, default="demo")
    metrics = field("metrics", provider=provider)
    graphite_host = field("graphite", provider=provider, default="graphite")
    base_url = field("base_url",
                     provider=provider,
                     default="https://www.alphavantage.co/query?function"
                     "=CURRENCY_EXCHANGE_RATE")
示例#3
0
class TestConfig(Config):
    debug = field("DEBUG", default=False, caster=to_bool)

    class Sub1Config:
        class Sub2Config:
            config_1 = field(default="base.mail.com")
            config_2 = field(default="465")
            config_3 = field(default="test")
示例#4
0
class BaseConfig(Config):
    debug = field(default=False, caster=to_bool)

    class Integration:
        class SMTP:
            server = field(default='smtp.gmail.com')
            port = field(default='465')
            login = field()
            password = field()
示例#5
0
class Test(BaseConfig):
    _prefix_ = 'TEST'

    debug = field(default=True, caster=to_bool)

    class Integration(BaseConfig.Integration):
        class SMTP(BaseConfig.Integration.SMTP):
            login = field(default='*****@*****.**')
            password = field(default='123456')
示例#6
0
 class SMTP:
     server = field(default='smtp.gmail.com')
     port = field(default='465')
     login = field()
     password = field()
示例#7
0
    class Integration(BaseConfig.Integration):
        class SMTP(BaseConfig.Integration.SMTP):
            login = field(default='*****@*****.**')
            password = field(default='123456')


class Test(BaseConfig):
    _prefix_ = 'TEST'

    debug = field(default=True, caster=to_bool)

    class Integration(BaseConfig.Integration):
        class SMTP(BaseConfig.Integration.SMTP):
            login = field(default='*****@*****.**')
            password = field(default='123456')


class TypeConfig(ConstantCaster):

    ABLE_TO_CAST = {"test": Test, 'prod': Prod}


if __name__ == "__main__":
    try:
        config: typing.Union[Test, Prod] = field('TYPE_CONFIG', caster=TypeConfig(), default=Test).value
        print(as_dict(config))
        print(f'Mode debug: {config.debug}. SMTP login: {config.Integration.SMTP.login}')
    except VariableNotFoundError as ex:
        print(ex.message)
示例#8
0
 class ConfigWithMyProvider(Config):
     var1 = field("var_1", provider=provider)
示例#9
0
 class ConfigOverride(Config):
     var1 = field("var_1", default=1)
示例#10
0
 class ConfigDefault(Config):
     var1 = field("var_1", default="var_1 value")
     var2 = field("var_2", default=lambda: "callable var_2")
示例#11
0
 class Sub2Config(TestConfig.Sub1Config.Sub2Config):
     config_1 = field(default="prod.mail.com")
     config_2 = field(default="465")
示例#12
0
 class Sub2Config:
     config_1 = field(default="base.mail.com")
     config_2 = field(default="465")
     config_3 = field(default="test")
示例#13
0
 class BaseConfig(Config):
     config_1 = field()
示例#14
0
 class MyConfig(Config):
     text = field("text-with-dashes", caster=to_dot)
示例#15
0
 class MyConfig(Config):
     boolean = field("boolean", caster=to_bool)
     integer = field("integer", caster=to_int)
示例#16
0
class AccountInfo(Config):
    username = field("ACCOUNT_USERNAME")
    password = field("ACCOUNT_PASSWORD")
    id = field("ACCOUNT_ID", caster=to_int)
示例#17
0
 class SMTP(BaseConfig.Integration.SMTP):
     login = field(default='*****@*****.**')
     password = field(default='123456')
示例#18
0
 class ConfigBad(Config):
     var1 = field(VAR_1)
示例#19
0
 def __init__(self, provider):
     self._email = field("email", provider=provider)
     self._password = field("password", provider=provider)
     self._notify_email = field("notification email", provider=provider)
示例#20
0
 class ConfigGood(Config):
     var1 = field(VAR_1)