def _eval_func_str(self, ctx, func_str): """ evals and updates context ctx for func_str returns evaluated ctx """ assert(func_str.startswith('|')) funcs = func_str[1:].split('|') for func in funcs: func_name, *func_params = func.strip().split(':') if func_name == 'base64': # not a real function ctx.encode_base64 = True else: try: eval_func(func_name, ctx, *func_params) except KeyError: raise RefError("{}: unknown function".format(func_name)) return ctx
def _eval_func_str(self, ctx, func_str): """ evals and updates context ctx for func_str returns evaluated ctx """ assert func_str.startswith("||") funcs = func_str[2:].split("|") for func in funcs: func_name, *func_params = func.strip().split(":") if func_name == "base64": # not a real function ctx.encode_base64 = True else: try: eval_func(func_name, ctx, *func_params) except KeyError: raise RefError(f"{func_name}: unknown ref function used.") return ctx