def competition_values(data, obj):
    ' Get values from the competition level of the xml '
    value_map = {'A76Action': 'a_76_fair_act_action', 'commercialItemAcquisitionProcedures': 'commercial_item_acquisitio', 'commercialItemTestProgram': 'commercial_item_test_progr', 'evaluatedPreference': 'evaluated_preference', 'extentCompeted': 'extent_competed', 'fedBizOpps': 'fed_biz_opps', 'localAreaSetAside': 'local_area_set_aside', 'numberOfOffersReceived': 'number_of_offers_received', 'priceEvaluationPercentDifference': 'price_evaluation_adjustmen', 'reasonNotCompeted': 'other_than_full_and_open_c', 'research': 'research', 'smallBusinessCompetitivenessDemonstrationProgram': 'small_business_competitive', 'solicitationProcedures': 'solicitation_procedures', 'statutoryExceptionToFairOpportunity': 'fair_opportunity_limited_s', 'typeOfSetAside': 'type_set_aside'}
    for (key, value) in value_map.items():
        try:
            obj[value] = extract_text(data[key])
        except (KeyError, TypeError):
            obj[value] = None
    value_map = {'A76Action': 'a_76_fair_act_action_desc', 'commercialItemAcquisitionProcedures': 'commercial_item_acqui_desc', 'commercialItemTestProgram': 'commercial_item_test_desc', 'evaluatedPreference': 'evaluated_preference_desc', 'extentCompeted': 'extent_compete_description', 'fedBizOpps': 'fed_biz_opps_description', 'localAreaSetAside': 'local_area_set_aside_desc', 'reasonNotCompeted': 'other_than_full_and_o_desc', 'research': 'research_description', 'solicitationProcedures': 'solicitation_procedur_desc', 'statutoryExceptionToFairOpportunity': 'fair_opportunity_limi_desc', 'typeOfSetAside': 'type_set_aside_description'}
    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 competition level of the xml
def competition_values(data, obj):
    '  '
    value_map = {'A76Action': 'a_76_fair_act_action', 'commercialItemAcquisitionProcedures': 'commercial_item_acquisitio', 'commercialItemTestProgram': 'commercial_item_test_progr', 'evaluatedPreference': 'evaluated_preference', 'extentCompeted': 'extent_competed', 'fedBizOpps': 'fed_biz_opps', 'localAreaSetAside': 'local_area_set_aside', 'numberOfOffersReceived': 'number_of_offers_received', 'priceEvaluationPercentDifference': 'price_evaluation_adjustmen', 'reasonNotCompeted': 'other_than_full_and_open_c', 'research': 'research', 'smallBusinessCompetitivenessDemonstrationProgram': 'small_business_competitive', 'solicitationProcedures': 'solicitation_procedures', 'statutoryExceptionToFairOpportunity': 'fair_opportunity_limited_s', 'typeOfSetAside': 'type_set_aside'}
    for (key, value) in value_map.items():
        try:
            obj[value] = extract_text(data[key])
        except (KeyError, TypeError):
            obj[value] = None
    value_map = {'A76Action': 'a_76_fair_act_action_desc', 'commercialItemAcquisitionProcedures': 'commercial_item_acqui_desc', 'commercialItemTestProgram': 'commercial_item_test_desc', 'evaluatedPreference': 'evaluated_preference_desc', 'extentCompeted': 'extent_compete_description', 'fedBizOpps': 'fed_biz_opps_description', 'localAreaSetAside': 'local_area_set_aside_desc', 'reasonNotCompeted': 'other_than_full_and_o_desc', 'research': 'research_description', 'solicitationProcedures': 'solicitation_procedur_desc', 'statutoryExceptionToFairOpportunity': 'fair_opportunity_limi_desc', 'typeOfSetAside': 'type_set_aside_description'}
    for (key, value) in value_map.items():
        try:
            obj[value] = extract_text(data[key]['@description'])
        except (KeyError, TypeError):
            obj[value] = None
    return obj