def _fixup(obj):
if isinstance(obj, dict):
d = deepcopy(obj)
for k,v in obj.items():
if isinstance(v, str):
if 'url' in k:
d[k] = URL(v)
elif 'path' in k:
d[k] = Path(v)
elif 'auth' == k:
with open(fmt('{CONFIG_DIR}/{v}'), 'r') as f:
d[k] = yaml.safe_load(f.read())
elif isinstance(v, dict):
d[k] = _fixup(v)
return d
return obj
评论列表
文章目录