def getter(file1,file2,path_for_reference_xsd, xsd_path):
    
     type_dict,service_provider_dict=type_template_mapping.csv_mapping_for_dat_type(file1, file2) 
     lookup_dict=xsd_lookup.parent_and_type_extracter(xsd_path)
     best_path_dict=latest_file_selecter.selector(path_for_reference_xsd, xsd_path)
     field_list=xsd_lookup.xsd_ref_value_extracter(xsd_path)
     return field_list,type_dict,service_provider_dict,lookup_dict,best_path_dict
def assigner(file1,file2,path_for_reference_xsd, xsd_path,):
  try:
    field_list1,type_dict1,service_provider_dict1,lookup_dict1,best_path_dict1=getter(file1,file2,path_for_reference_xsd, xsd_path)
    value_assigner={}
    fieldparameter=xsd_lookup.field_index(xsd_path) 

    for i in lookup_dict1:
      
        if i in best_path_dict1:
      
          #print i,lookup_dict1[i],best_path_dict1[i]
          file_for_extraction="%s/%s"%(path_for_reference_xsd,best_path_dict1[i])   
          for y in lookup_dict1[i]:
              if y in  value_assigner:
                k1=extracter(i,file_for_extraction,y)
                if k1.upper() in type_dict1:
                    k=type_dict1[k1.upper()]
                else:
                    k=k1   
                    
                value_assigner[y].append(k)
                value_assigner[y].append(fieldparameter.index(y)+1)
                temp_value=str(i)+":"+str(y)
                value_assigner[y].append(temp_value)
              else:
                value_assigner[y]=list() 
                k1=extracter(i,file_for_extraction,y)
                if k1.upper() in type_dict1:
                    k=type_dict1[k1.upper()]
                else:
                    k=k1
                
                value_assigner[y].append(k)
                value_assigner[y].append(fieldparameter.index(y)+1)
                temp_value=str(i)+":"+str(y)
                value_assigner[y].append(temp_value)
    
    for i in value_assigner:
        value_assigner[i].append("True")
  except IndexError:
     type_dict1,service_provider_dict=type_template_mapping.csv_mapping_for_dat_type(file1, file2)
     value_assigner={}
     interim_dict=boundary_case(xsd_path) 
    #print value_assigner 
     index_maintainer123=index_maintain(xsd_path)
     for i in interim_dict:
        value_assigner[i]=[]
        if interim_dict[i].upper() in type_dict1:
             type=type_dict1[interim_dict[i].upper()]
        value_assigner[i].append(type)
        if i in index_maintainer123:
             value_assigner[i].append(index_maintainer123[i])
        value_assigner[i].append(i)
        value_assigner[i].append("True")
        
     values_dump=sorted(value_assigner.values(), key=operator.itemgetter(1), reverse=False) 
  return values_dump     
def getter(file1, file2, path_for_reference_xsd, xsd_path):

    type_dict, service_provider_dict = type_template_mapping.csv_mapping_for_dat_type(
        file1, file2)
    lookup_dict = xsd_lookup.parent_and_type_extracter(xsd_path)
    best_path_dict = latest_file_selecter.selector(path_for_reference_xsd,
                                                   xsd_path)
    field_list = xsd_lookup.xsd_ref_value_extracter(xsd_path)
    return field_list, type_dict, service_provider_dict, lookup_dict, best_path_dict
Beispiel #4
0
def test(file1,file2,path_for_reference_xsd, xsd_path):
    k=value_extacter.assigner(file1, file2, path_for_reference_xsd, xsd_path)
    m,y=type_template_mapping.csv_mapping_for_dat_type(file1, file2)
    template_string_value=xsd_path.split("/")[-1].split("_")[0]
    last_value=xsd_path.split("/")[-1]
    if template_string_value in y:
         template_numric_value=y[template_string_value]
    #for i in k:
        
    return k,template_numric_value,template_string_value,last_value
def assigner(
    file1,
    file2,
    path_for_reference_xsd,
    xsd_path,
):
    try:
        field_list1, type_dict1, service_provider_dict1, lookup_dict1, best_path_dict1 = getter(
            file1, file2, path_for_reference_xsd, xsd_path)
        value_assigner = {}
        fieldparameter = xsd_lookup.field_index(xsd_path)

        for i in lookup_dict1:

            if i in best_path_dict1:

                #print i,lookup_dict1[i],best_path_dict1[i]
                file_for_extraction = "%s/%s" % (path_for_reference_xsd,
                                                 best_path_dict1[i])
                for y in lookup_dict1[i]:
                    if y in value_assigner:
                        k1 = extracter(i, file_for_extraction, y)
                        if k1.upper() in type_dict1:
                            k = type_dict1[k1.upper()]
                        else:
                            k = k1

                        value_assigner[y].append(k)
                        value_assigner[y].append(fieldparameter.index(y) + 1)
                        temp_value = str(i) + ":" + str(y)
                        value_assigner[y].append(temp_value)
                    else:
                        value_assigner[y] = list()
                        k1 = extracter(i, file_for_extraction, y)
                        if k1.upper() in type_dict1:
                            k = type_dict1[k1.upper()]
                        else:
                            k = k1

                        value_assigner[y].append(k)
                        value_assigner[y].append(fieldparameter.index(y) + 1)
                        temp_value = str(i) + ":" + str(y)
                        value_assigner[y].append(temp_value)

        for i in value_assigner:
            value_assigner[i].append("True")
    except IndexError:
        type_dict1, service_provider_dict = type_template_mapping.csv_mapping_for_dat_type(
            file1, file2)
        value_assigner = {}
        interim_dict = boundary_case(xsd_path)
        #print value_assigner
        index_maintainer123 = index_maintain(xsd_path)
        for i in interim_dict:
            value_assigner[i] = []
            if interim_dict[i].upper() in type_dict1:
                type = type_dict1[interim_dict[i].upper()]
            value_assigner[i].append(type)
            if i in index_maintainer123:
                value_assigner[i].append(index_maintainer123[i])
            value_assigner[i].append(i)
            value_assigner[i].append("True")

        values_dump = sorted(value_assigner.values(),
                             key=operator.itemgetter(1),
                             reverse=False)
    return values_dump