Example #1
0
def test_unparse():
    """Assert bare types are reversed cast"""
    assert unparse_conf_data("teste") == "teste"
    assert unparse_conf_data(123) == "@int 123"
    assert unparse_conf_data(123.4) == "@float 123.4"
    assert unparse_conf_data(False) == "@bool False"
    assert unparse_conf_data(True) == "@bool True"
    assert unparse_conf_data(["a", "b"]) == '@json ["a", "b"]'
    assert unparse_conf_data({"name": "Bruno"}) == '@json {"name": "Bruno"}'
    assert unparse_conf_data(None) == "@none "
    assert unparse_conf_data(Lazy("{foo}")) == "@format {foo}"
Example #2
0
def write(obj, data=None, **kwargs):
    """Write a value in to loader source

    :param obj: settings object
    :param data: vars to be stored
    :param kwargs: vars to be stored
    :return:
    """
    if obj.REDIS_ENABLED_FOR_DYNACONF is False:
        raise RuntimeError(
            "Redis is not configured \n"
            "export REDIS_ENABLED_FOR_DYNACONF=true\n"
            "and configure the REDIS_FOR_DYNACONF_* variables"
        )
    client = StrictRedis(**obj.REDIS_FOR_DYNACONF)
    holder = obj.get("ENVVAR_PREFIX_FOR_DYNACONF").upper()
    # add env to holder
    holder = f"{holder}_{obj.current_env.upper()}"

    data = data or {}
    data.update(kwargs)
    if not data:
        raise AttributeError("Data must be provided")
    redis_data = {
        upperfy(key): unparse_conf_data(value) for key, value in data.items()
    }
    client.hmset(holder.upper(), redis_data)
    load(obj)
Example #3
0
def test_unparse():
    """Assert bare types are reversed cast"""
    assert unparse_conf_data('teste') == 'teste'
    assert unparse_conf_data(123) == '@int 123'
    assert unparse_conf_data(123.4) == '@float 123.4'
    assert unparse_conf_data(False) == '@bool False'
    assert unparse_conf_data(True) == '@bool True'
    assert unparse_conf_data(['a', 'b']) == '@json ["a", "b"]'
    assert unparse_conf_data({'name': 'Bruno'}) == '@json {"name": "Bruno"}'
    assert unparse_conf_data(None) == "@none "
Example #4
0
def write(obj, **kwargs):
    """
    Write a value in to loader source
    :param obj: settings object
    :param kwargs: vars to be stored
    :return:
    """
    client = StrictRedis(**obj.REDIS_FOR_DYNACONF)
    holder = "DYNACONF_%s" % obj.DYNACONF_NAMESPACE
    data = {
        key.upper(): unparse_conf_data(value)
        for key, value in kwargs.items()
    }
    client.hmset(holder.upper(), data)
    load(obj)
Example #5
0
def write(obj, **kwargs):
    """
    Write a value in to loader source
    :param obj: settings object
    :param kwargs: vars to be stored
    :return:
    """
    client = StrictRedis(**obj.REDIS_FOR_DYNACONF)
    holder = "DYNACONF_%s" % obj.DYNACONF_NAMESPACE
    data = {
        key.upper(): unparse_conf_data(value)
        for key, value in kwargs.items()
    }
    client.hmset(holder.upper(), data)
    load(obj)
Example #6
0
def get(key, default, env, unparse):
    """Returns the raw value for a settings key"""
    if env:
        env = env.strip()
    if key:
        key = key.strip()

    if env:
        settings.setenv(env)

    if default is not empty:
        result = settings.get(key, default)
    else:
        result = settings[key]  # let the keyerror raises

    if unparse:
        result = unparse_conf_data(result)

    click.echo(result, nl=False)
Example #7
0
def write(obj, data=None, **kwargs):
    """
    Write a value in to loader source
    :param obj: settings object
    :param data: vars to be stored
    :param kwargs: vars to be stored
    :return:
    """
    client = StrictRedis(**obj.REDIS_FOR_DYNACONF)
    holder = "DYNACONF_%s" % obj.current_namespace
    data = data or {}
    data.update(kwargs)
    if not data:
        raise AttributeError('Data must be provided')
    redis_data = {
        key.upper(): unparse_conf_data(value)
        for key, value in data.items()
    }
    client.hmset(holder.upper(), redis_data)
    load(obj)
Example #8
0
def write(obj, data=None, **kwargs):
    """Write a value in to loader source

    :param obj: settings object
    :param data: vars to be stored
    :param kwargs: vars to be stored
    :return:
    """
    if obj.REDIS_ENABLED_FOR_DYNACONF is False:
        raise RuntimeError('Redis is not configured \n'
                           'export REDIS_ENABLED_FOR_DYNACONF=true\n'
                           'and configure the REDIS_FOR_DYNACONF_* variables')
    client = StrictRedis(**obj.REDIS_FOR_DYNACONF)
    holder = obj.get('GLOBAL_ENV_FOR_DYNACONF')
    data = data or {}
    data.update(kwargs)
    if not data:
        raise AttributeError('Data must be provided')
    redis_data = {
        key.upper(): unparse_conf_data(value)
        for key, value in data.items()
    }
    client.hmset(holder.upper(), redis_data)
    load(obj)