web/hdalab/management/commands/import_hda_insee_csv.py
changeset 124 f937ccc6c144
parent 123 94fc5f5b5cfd
child 231 73123394bc53
equal deleted inserted replaced
123:94fc5f5b5cfd 124:f937ccc6c144
    45             else:
    45             else:
    46                 if len(line) > minlength:
    46                 if len(line) > minlength:
    47                     rawdata = {k: line[v].strip() for k,v in fields.iteritems()}
    47                     rawdata = {k: line[v].strip() for k,v in fields.iteritems()}
    48                     # Traitement special pour la Corse
    48                     # Traitement special pour la Corse
    49                     insee = int(re.sub('^2(A|B)','20',rawdata['insee']))
    49                     insee = int(re.sub('^2(A|B)','20',rawdata['insee']))
    50                     
       
    51                     # Arrondissements de Paris
       
    52                     if insee >= 75000 and insee < 76000:
       
    53                         insee = 75100
       
    54                     
       
    55                     # Arrondissements de Lyon
       
    56                     if (insee >= 69380 and insee < 69390) or insee == 69123:
       
    57                         insee = 69380
       
    58                     
       
    59                     # Arrondissements de Marseille
       
    60                     if (insee >= 13200 and insee < 13217) or insee == 13055:
       
    61                         insee = 13200
       
    62                         
    50                         
    63                     hda_id = int(rawdata['id'])
    51                     hda_id = int(rawdata['id'])
    64                     
    52                     
    65                     try:
    53                     try:
    66                         datasheet = Datasheet.objects.get(hda_id=hda_id)
    54                         datasheet = Datasheet.objects.get(hda_id=hda_id)
    68                         #print "Datasheet for id %d does not exist" % hda_id
    56                         #print "Datasheet for id %d does not exist" % hda_id
    69                         datasheet = None
    57                         datasheet = None
    70                     try:
    58                     try:
    71                         inseecoord = InseeCoords.objects.get(insee=insee)
    59                         inseecoord = InseeCoords.objects.get(insee=insee)
    72                     except InseeCoords.DoesNotExist:
    60                     except InseeCoords.DoesNotExist:
    73                         #print "INSEE entry for Insee Code %d does not exist" % insee
    61                         print "INSEE entry for Insee Code %d does not exist" % insee
    74                         print insee
    62                         inseecoord = None
    75                         datasheet = None
       
    76                     
    63                     
    77                     if datasheet is not None and inseecoord is not None:
    64                     if datasheet is not None and inseecoord is not None:
    78                         dsextra, created = DatasheetExtras.objects.get_or_create(datasheet=datasheet, defaults={'insee':inseecoord})
    65                         dsextra, created = DatasheetExtras.objects.get_or_create(datasheet=datasheet, defaults={'insee':inseecoord})
    79                         if not created:
    66                         if not created:
    80                             dsextra.insee = inseecoord
    67                             dsextra.insee = inseecoord