def legislative_mandates_values(data, obj):
    ' Get values from the legislativeMandates level of the xml '
    value_map = {'ClingerCohenAct': 'clinger_cohen_act_planning', 'constructionWageRateRequirements': 'construction_wage_rate_req', 'interagencyContractingAuthority': 'interagency_contracting_au', 'otherStatutoryAuthority': 'other_statutory_authority', 'laborStandards': 'labor_standards', 'materialsSuppliesArticlesEquipment': 'materials_supplies_article'}
    additional_reporting = None
    try:
        ar_dicts = data['listOfAdditionalReportingValues']['additionalReportingValue']
    except (KeyError, TypeError):
        ar_dicts = None
    if ar_dicts:
        if isinstance(ar_dicts, dict):
            ar_dicts = [ar_dicts]
        ars = []
        for ar_dict in ar_dicts:
            ar_value = extract_text(ar_dict)
            try:
                ar_desc = extract_text(ar_dict['@description'])
            except (KeyError, TypeError):
                ar_desc = None
            ar_str = (ar_value if (ar_desc is None) else '{}: {}'.format(ar_value, ar_desc))
            ars.append(ar_str)
        additional_reporting = '; '.join(ars)
    obj['additional_reporting'] = additional_reporting
    for (key, value) in value_map.items():
        try:
            obj[value] = extract_text(data[key])
        except (KeyError, TypeError):
            obj[value] = None
    value_map = {'ClingerCohenAct': 'clinger_cohen_act_pla_desc', 'constructionWageRateRequirements': 'construction_wage_rat_desc', 'interagencyContractingAuthority': 'interagency_contract_desc', 'laborStandards': 'labor_standards_descrip', 'materialsSuppliesArticlesEquipment': 'materials_supplies_descrip'}
    for (key, value) in value_map.items():
        try:
            obj[value] = extract_text(data[key]['@description'])
        except (KeyError, TypeError):
            obj[value] = None
    return obj
Get values from the legislativeMandates level of the xml
def legislative_mandates_values(data, obj):
    '  '
    value_map = {'ClingerCohenAct': 'clinger_cohen_act_planning', 'constructionWageRateRequirements': 'construction_wage_rate_req', 'interagencyContractingAuthority': 'interagency_contracting_au', 'otherStatutoryAuthority': 'other_statutory_authority', 'laborStandards': 'labor_standards', 'materialsSuppliesArticlesEquipment': 'materials_supplies_article'}
    additional_reporting = None
    try:
        ar_dicts = data['listOfAdditionalReportingValues']['additionalReportingValue']
    except (KeyError, TypeError):
        ar_dicts = None
    if ar_dicts:
        if isinstance(ar_dicts, dict):
            ar_dicts = [ar_dicts]
        ars = []
        for ar_dict in ar_dicts:
            ar_value = extract_text(ar_dict)
            try:
                ar_desc = extract_text(ar_dict['@description'])
            except (KeyError, TypeError):
                ar_desc = None
            ar_str = (ar_value if (ar_desc is None) else '{}: {}'.format(ar_value, ar_desc))
            ars.append(ar_str)
        additional_reporting = '; '.join(ars)
    obj['additional_reporting'] = additional_reporting
    for (key, value) in value_map.items():
        try:
            obj[value] = extract_text(data[key])
        except (KeyError, TypeError):
            obj[value] = None
    value_map = {'ClingerCohenAct': 'clinger_cohen_act_pla_desc', 'constructionWageRateRequirements': 'construction_wage_rat_desc', 'interagencyContractingAuthority': 'interagency_contract_desc', 'laborStandards': 'labor_standards_descrip', 'materialsSuppliesArticlesEquipment': 'materials_supplies_descrip'}
    for (key, value) in value_map.items():
        try:
            obj[value] = extract_text(data[key]['@description'])
        except (KeyError, TypeError):
            obj[value] = None
    return obj