in src/dfcx_scrapi/tools/maker_util.py [0:0]
def make_generic(cls, obj, obj_type, default, conditionals=None):
if conditionals is None:
conditionals = {}
if isinstance(obj, obj_type):
return obj
elif isinstance(obj, dict):
obj_ins = obj_type()
for key, value in obj.items():
if key in conditionals.keys():
func = conditionals[key]
out = func(value)
setattr(obj_ins, key, out)
else:
print(value)
setattr(obj_ins, key, value)
return obj_ins
elif isinstance(obj, str):
dic = {
"unspecified": 0,
"map": 1,
"list": 2,
"regexp": 3,
"default": 1,
}
t = dic.get(obj.lower())
if t:
return obj_type(t)
else:
return default
else:
return default