def contract_data_values(data, obj, atom_type):
    ' Get values from the contractData level of the xml '
    value_map = {'consolidatedContract': 'consolidated_contract', 'contingencyHumanitarianPeacekeepingOperation': 'contingency_humanitarian_o', 'contractFinancing': 'contract_financing', 'costAccountingStandardsClause': 'cost_accounting_standards', 'costOrPricingData': 'cost_or_pricing_data', 'descriptionOfContractRequirement': 'award_description', 'GFE-GFP': 'government_furnished_prope', 'inherentlyGovernmentalFunction': 'inherently_government_func', 'majorProgramCode': 'major_program', 'multiYearContract': 'multi_year_contract', 'nationalInterestActionCode': 'national_interest_action', 'numberOfActions': 'number_of_actions', 'performanceBasedServiceContract': 'performance_based_service', 'programAcronym': 'program_acronym', 'purchaseCardAsPaymentMethod': 'purchase_card_as_payment_m', 'reasonForModification': 'action_type', 'referencedIDVMultipleOrSingle': 'referenced_mult_or_single', 'referencedIDVType': 'referenced_idv_type', 'seaTransportation': 'sea_transportation', 'solicitationID': 'solicitation_identifier', 'typeOfContractPricing': 'type_of_contract_pricing', 'typeOfIDC': 'type_of_idc', 'undefinitizedAction': 'undefinitized_action'}
    if (atom_type == 'award'):
        value_map['contractActionType'] = 'contract_award_type'
    else:
        value_map['contractActionType'] = 'idv_type'
        value_map['multipleOrSingleAwardIDC'] = 'multiple_or_single_award_i'
    for (key, value) in value_map.items():
        try:
            obj[value] = extract_text(data[key])
        except (KeyError, TypeError):
            obj[value] = None
    value_map = {'consolidatedContract': 'consolidated_contract_desc', 'contingencyHumanitarianPeacekeepingOperation': 'contingency_humanitar_desc', 'contractFinancing': 'contract_financing_descrip', 'costAccountingStandardsClause': 'cost_accounting_stand_desc', 'costOrPricingData': 'cost_or_pricing_data_desc', 'GFE-GFP': 'government_furnished_desc', 'inherentlyGovernmentalFunction': 'inherently_government_desc', 'multiYearContract': 'multi_year_contract_desc', 'nationalInterestActionCode': 'national_interest_desc', 'performanceBasedServiceContract': 'performance_based_se_desc', 'purchaseCardAsPaymentMethod': 'purchase_card_as_paym_desc', 'reasonForModification': 'action_type_description', 'referencedIDVMultipleOrSingle': 'referenced_mult_or_si_desc', 'referencedIDVType': 'referenced_idv_type_desc', 'seaTransportation': 'sea_transportation_desc', 'typeOfContractPricing': 'type_of_contract_pric_desc', 'typeOfIDC': 'type_of_idc_description', 'undefinitizedAction': 'undefinitized_action_desc'}
    if (atom_type == 'award'):
        value_map['contractActionType'] = 'contract_award_type_desc'
    else:
        value_map['contractActionType'] = 'idv_type_description'
        value_map['multipleOrSingleAwardIDC'] = 'multiple_or_single_aw_desc'
    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 contractData level of the xml
def contract_data_values(data, obj, atom_type):
    '  '
    value_map = {'consolidatedContract': 'consolidated_contract', 'contingencyHumanitarianPeacekeepingOperation': 'contingency_humanitarian_o', 'contractFinancing': 'contract_financing', 'costAccountingStandardsClause': 'cost_accounting_standards', 'costOrPricingData': 'cost_or_pricing_data', 'descriptionOfContractRequirement': 'award_description', 'GFE-GFP': 'government_furnished_prope', 'inherentlyGovernmentalFunction': 'inherently_government_func', 'majorProgramCode': 'major_program', 'multiYearContract': 'multi_year_contract', 'nationalInterestActionCode': 'national_interest_action', 'numberOfActions': 'number_of_actions', 'performanceBasedServiceContract': 'performance_based_service', 'programAcronym': 'program_acronym', 'purchaseCardAsPaymentMethod': 'purchase_card_as_payment_m', 'reasonForModification': 'action_type', 'referencedIDVMultipleOrSingle': 'referenced_mult_or_single', 'referencedIDVType': 'referenced_idv_type', 'seaTransportation': 'sea_transportation', 'solicitationID': 'solicitation_identifier', 'typeOfContractPricing': 'type_of_contract_pricing', 'typeOfIDC': 'type_of_idc', 'undefinitizedAction': 'undefinitized_action'}
    if (atom_type == 'award'):
        value_map['contractActionType'] = 'contract_award_type'
    else:
        value_map['contractActionType'] = 'idv_type'
        value_map['multipleOrSingleAwardIDC'] = 'multiple_or_single_award_i'
    for (key, value) in value_map.items():
        try:
            obj[value] = extract_text(data[key])
        except (KeyError, TypeError):
            obj[value] = None
    value_map = {'consolidatedContract': 'consolidated_contract_desc', 'contingencyHumanitarianPeacekeepingOperation': 'contingency_humanitar_desc', 'contractFinancing': 'contract_financing_descrip', 'costAccountingStandardsClause': 'cost_accounting_stand_desc', 'costOrPricingData': 'cost_or_pricing_data_desc', 'GFE-GFP': 'government_furnished_desc', 'inherentlyGovernmentalFunction': 'inherently_government_desc', 'multiYearContract': 'multi_year_contract_desc', 'nationalInterestActionCode': 'national_interest_desc', 'performanceBasedServiceContract': 'performance_based_se_desc', 'purchaseCardAsPaymentMethod': 'purchase_card_as_paym_desc', 'reasonForModification': 'action_type_description', 'referencedIDVMultipleOrSingle': 'referenced_mult_or_si_desc', 'referencedIDVType': 'referenced_idv_type_desc', 'seaTransportation': 'sea_transportation_desc', 'typeOfContractPricing': 'type_of_contract_pric_desc', 'typeOfIDC': 'type_of_idc_description', 'undefinitizedAction': 'undefinitized_action_desc'}
    if (atom_type == 'award'):
        value_map['contractActionType'] = 'contract_award_type_desc'
    else:
        value_map['contractActionType'] = 'idv_type_description'
        value_map['multipleOrSingleAwardIDC'] = 'multiple_or_single_aw_desc'
    for (key, value) in value_map.items():
        try:
            obj[value] = extract_text(data[key]['@description'])
        except (KeyError, TypeError):
            obj[value] = None
    return obj