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}"
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)
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 "
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)
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)
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)
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)