def _jinja_expand_dict_all_expr()

in helpers/base.py [0:0]


    def _jinja_expand_dict_all_expr(self, _var, _tpl='config'):
        _new_var = {}
        if not isinstance(_var, dict):
            return _var
        for k, v in _var.items():
            if not isinstance(v, dict):
                if isinstance(v, str):
                    if k.endswith('Expr'):
                        _new_var[k[0:len(k) - 4]] = self._jinja_expand_expr(v)
                    else:
                        _new_var[k] = self._jinja_expand_string(v)
                if isinstance(v, int):
                    _new_var[k] = self._jinja_expand_int(v)
                if isinstance(v, float):
                    _new_var[k] = self._jinja_expand_float(v)
                if isinstance(v, list):
                    _new_var[k] = []
                    for idx, lv in enumerate(_var[k]):
                        if isinstance(lv, dict):
                            _new_var[k].append(
                                self._jinja_expand_dict_all_expr(lv))
                        if isinstance(lv, str):
                            _new_var[k].append(self._jinja_expand_string(lv))
            else:
                _new_var[k] = self._jinja_expand_dict_all_expr(_var[k])
        return _new_var