In [1]:
import requests, json

In [2]:
provinces = DC_province.objects.all()

In [3]:
ref_province = [x for x in provinces if x.lat is None]

In [4]:
fetched_info = []
root = "http://api.geonames.org/searchJSON?maxRows=10&username=digitalarchiv&featureClass=A&featureCode=ADM1&q="
for province in ref_province:
    name = province.name
    params = "{}".format(name)
    url = root+params
    try:
        r = requests.get(url)
        x = r.json()
        print("worked: {}".format(province.id))
    except:
        x = "oops"
        print("XXXXXXXXX: {}".format(province.id))
    item = {"province" : province, "fetched_info" : x}
    fetched_info.append(item)


worked: 23
worked: 141
worked: 4
worked: 32
worked: 51
worked: 69
worked: 52
worked: 1
worked: 93
worked: 33
worked: 94
worked: 112
worked: 46
worked: 99
worked: 5
worked: 12
worked: 70
worked: 24
worked: 48
worked: 13
worked: 34
worked: 35
worked: 100
worked: 71
worked: 2
worked: 14
worked: 15
worked: 53
worked: 119
worked: 133
worked: 120
worked: 84
worked: 131
worked: 95
worked: 72
worked: 98
worked: 6
worked: 25
worked: 82
worked: 135
worked: 73
worked: 101
worked: 22
worked: 36
worked: 96
worked: 37
worked: 38
worked: 54
worked: 102
worked: 138
worked: 108
worked: 122
worked: 26
worked: 74
worked: 123
worked: 50
worked: 39
worked: 64
worked: 40
worked: 124
worked: 109
worked: 3
worked: 19
worked: 7
worked: 65
worked: 75
worked: 55
worked: 86
worked: 41
worked: 76
worked: 125
worked: 136
worked: 56
worked: 115
worked: 114
worked: 27
worked: 128
worked: 57
worked: 20
worked: 58
worked: 17
worked: 59
worked: 127
worked: 8
worked: 116
worked: 97
worked: 87
worked: 121
worked: 113
worked: 143
worked: 85
worked: 88
worked: 42
worked: 9
worked: 28
worked: 67
worked: 91
worked: 132
worked: 10
worked: 43
worked: 60
worked: 61
worked: 89
worked: 77
worked: 66
worked: 129
worked: 106
worked: 107
worked: 126
worked: 105
worked: 110
worked: 118
worked: 140
worked: 47
worked: 18
worked: 83
worked: 78
worked: 29
worked: 104
worked: 134
worked: 30
worked: 79
worked: 31
worked: 62
worked: 21
worked: 137
worked: 111
worked: 130
worked: 80
worked: 49
worked: 90
worked: 44
worked: 147
worked: 11
worked: 45
worked: 103
worked: 139
worked: 16
worked: 63
worked: 117
worked: 81

In [6]:
for x in fetched_info:
    temp_prov = x["province"]
    geo_info = x["fetched_info"]
    try:
        print(geo_info["geonames"][0]["geonameId"])
        temp_prov.authorityfile_id = geo_info["geonames"][0]["geonameId"]
        temp_prov.lng = geo_info["geonames"][0]["lng"]
        temp_prov.lat = geo_info["geonames"][0]["lat"]
        temp_prov.save()
    except:
        print("XXXXXXXX")


325329
XXXXXXXX
325302
325163
443185
752014
323784
323776
XXXXXXXX
862470
XXXXXXXX
449265
751816
XXXXXXXX
322819
322164
862467
443186
862471
321122
321079
321022
XXXXXXXX
750510
320390
750268
749778
749747
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
748877
XXXXXXXX
317106
316540
XXXXXXXX
XXXXXXXX
865521
XXXXXXXX
747711
315807
XXXXXXXX
315372
315367
315201
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
314829
746878
XXXXXXXX
746423
312888
312394
443184
XXXXXXXX
XXXXXXXX
311071
745042
311044
310858
862468
443187
XXXXXXXX
743942
743881
XXXXXXXX
XXXXXXXX
308463
XXXXXXXX
XXXXXXXX
443213
XXXXXXXX
443188
743165
307513
742865
306569
XXXXXXXX
305267
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
304919
304825
304794
311728
XXXXXXXX
736572
304183
304041
303830
303826
XXXXXXXX
741098
443183
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
740481
740352
XXXXXXXX
740263
298332
XXXXXXXX
XXXXXXXX
300821
739598
443189
300617
738926
XXXXXXXX
XXXXXXXX
XXXXXXXX
738742
738647
XXXXXXXX
298845
XXXXXXXX
298298
545854
XXXXXXXX
XXXXXXXX
862469
296560
XXXXXXXX
737021

In [ ]: