Esempio n. 1
0
    def __getattr__(self, name):
        """Allow getting keys from self.store using dot notation"""
        if self._wrapped is empty:
            self._setup()
        if name in self._wrapped._deleted:  # noqa
            raise AttributeError(
                f"Attribute {name} was deleted, " "or belongs to different env"
            )

        if name not in RESERVED_ATTRS:
            lowercase_mode = self._kwargs.get(
                "LOWERCASE_READ_FOR_DYNACONF",
                default_settings.LOWERCASE_READ_FOR_DYNACONF,
            )
            if lowercase_mode is True:
                name = name.upper()

        if (
            name.isupper()
            and (
                self._wrapped._fresh
                or name in self._wrapped.FRESH_VARS_FOR_DYNACONF
            )
            and name not in UPPER_DEFAULT_SETTINGS
        ):
            return self._wrapped.get_fresh(name)
        value = getattr(self._wrapped, name)
        if name not in RESERVED_ATTRS:
            return recursively_evaluate_lazy_format(value, self)
        return value
Esempio n. 2
0
    def evaluate(dynabox, item, *args, **kwargs):
        value = f(dynabox, item, *args, **kwargs)
        settings = dynabox._box_config["box_settings"]

        if getattr(value, "_dynaconf_lazy_format", None):
            dynabox._box_config[
                f"raw_{item.lower()}"] = f"@{value.formatter.token} {value.value}"

        return recursively_evaluate_lazy_format(value, settings)
Esempio n. 3
0
 def evaluate(settings, *args, **kwargs):
     value = f(settings, *args, **kwargs)
     return recursively_evaluate_lazy_format(value, settings)