def replace_vars(value, *, autonumify=False):
if isinstance(value, dict):
materialized = {}
for k, v in value.items():
materialized[k] = replace_vars(v)
return materialized
if isinstance(value, list):
materialized = []
for v in value:
materialized.append(replace_vars(v))
return materialized
if type(value) is str:
for var in re.findall("<<\\w+>>", value):
k = var.replace('<<', '').replace('>>', '')
nv = STORED_VARS[k] if k in STORED_VARS else None
if nv is not None:
value = value.replace(var, str(nv))
if autonumify:
try:
return float(value)
except Exception:
pass
return value
评论列表
文章目录