Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_upperfy():
assert upperfy("foo") == "FOO"
assert upperfy("foo__bar") == "FOO__bar"
assert upperfy("foo__bar__ZAZ") == "FOO__bar__ZAZ"
assert (
upperfy("foo__bar__ZAZ__naz__TAZ_ZAZ") == "FOO__bar__ZAZ__naz__TAZ_ZAZ"
)
assert upperfy("foo_bar") == "FOO_BAR"
assert upperfy("foo_BAR") == "FOO_BAR"
def test_upperfy():
assert upperfy("foo") == "FOO"
assert upperfy("foo__bar") == "FOO__bar"
assert upperfy("foo__bar__ZAZ") == "FOO__bar__ZAZ"
assert (
upperfy("foo__bar__ZAZ__naz__TAZ_ZAZ") == "FOO__bar__ZAZ__naz__TAZ_ZAZ"
)
assert upperfy("foo_bar") == "FOO_BAR"
assert upperfy("foo_BAR") == "FOO_BAR"
def test_upperfy():
assert upperfy("foo") == "FOO"
assert upperfy("foo__bar") == "FOO__bar"
assert upperfy("foo__bar__ZAZ") == "FOO__bar__ZAZ"
assert (
upperfy("foo__bar__ZAZ__naz__TAZ_ZAZ") == "FOO__bar__ZAZ__naz__TAZ_ZAZ"
)
assert upperfy("foo_bar") == "FOO_BAR"
assert upperfy("foo_BAR") == "FOO_BAR"
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 = "{0}_{1}".format(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)
:param fresh: Should reload from loaders store before access?
:param dotted_lookup: Should perform dotted-path lookup?
:param parent: Is there a pre-loaded parent in a nested data?
:return: The value if found, default or None
"""
if "." in key and dotted_lookup:
return self._dotted_get(
dotted_key=key,
default=default,
cast=cast,
fresh=fresh,
parent=parent,
)
key = upperfy(key)
if key in self._deleted:
return default
if (
fresh
or self._fresh
or key in getattr(self, "FRESH_VARS_FOR_DYNACONF", ())
) and key not in dir(default_settings):
self.unset(key)
self.execute_loaders(key=key)
data = (parent or self.store).get(key, default)
if cast:
data = converters.get(cast)(data)
return data
def __getitem__(self, item, *args, **kwargs):
try:
return super(DynaBox, self).__getitem__(item, *args, **kwargs)
except (AttributeError, KeyError):
n_item = item.lower() if item.isupper() else upperfy(item)
return super(DynaBox, self).__getitem__(n_item, *args, **kwargs)
def __getattr__(self, item, *args, **kwargs):
try:
return super(DynaBox, self).__getattr__(item, *args, **kwargs)
except (AttributeError, KeyError):
n_item = item.lower() if item.isupper() else upperfy(item)
return super(DynaBox, self).__getattr__(n_item, *args, **kwargs)
% (click.style(k, bg=color(k), fg="white"), pprint.pformat(v))
for k, v in data.items()
)
(click.echo_via_pager if more else click.echo)(datalines)
if output:
loaders.write(output, data, env=not flat and cur_env)
else:
key = upperfy(key)
value = data.get(key)
if not value:
click.echo(click.style("Key not found", bg="red", fg="white"))
return
click.echo(
"%s: %s"
% (
click.style(upperfy(key), bg=color(key), fg="white"),
pprint.pformat(value),
)
)
if output:
loaders.write(
output, {upperfy(key): value}, env=not flat and cur_env
)
if env:
settings.setenv()
def get_environ(self, key, default=None, cast=None):
"""Get value from environment variable using os.environ.get
:param key: The name of the setting value, will always be upper case
:param default: In case of not found it will be returned
:param cast: Should cast in to @int, @float, @bool or @json ?
or cast must be true to use cast inference
:return: The value if found, default or None
"""
key = upperfy(key)
data = self.environ.get(key, default)
if data:
if cast in converters:
data = converters.get(cast)(data)
if cast is True:
data = parse_conf_data(data, tomlfy=True)
return data