in src/loading_manifest/csv_to_json.py [0:0]
def add_required_fields(ldm, required_template):
if required_template is None or len(required_template) == 0:
return
def add_fields_list(des_list, src_list):
if len(src_list) == 0 or len(des_list) == 0:
return
for item_src in src_list:
for item_des in des_list:
if type(item_src) == type(item_des):
if type(item_src) is dict:
add_fields_dict(item_des, item_src)
elif type(item_src) is list:
add_fields_list(item_des, item_src)
def add_fields_dict(des_dict, src_dict):
for k, v_src in src_dict.items():
optional_field = False
if k.startswith(tag_optional_field):
optional_field = True
k = k[len(tag_optional_field):]
if k not in des_dict and not optional_field:
if type(v_src) is dict:
des_dict[k] = dict()
elif type(v_src) is list:
des_dict[k] = list()
else:
des_dict[k] = v_src
v_des = des_dict.get(k, None)
if v_des is not None and type(v_src) == type(v_des):
if type(v_src) is dict:
add_fields_dict(v_des, v_src)
elif type(v_src) is list:
add_fields_list(v_des, v_src)
add_fields_dict(ldm, required_template)