Esempio n. 1
0
conf_file = 'data/geocoder.conf'
geocoder = Geocoder(logging, conf_file)
db = DB(logging)

while True:
    users = db.get_geocoding_target_users(100)
    if len(users) == 0:
        logging.info("All users in DB are geocoded.")
        time.sleep(10*60)
        continue

    for user in users:
        if user['location_property'] == '':
            db.update_user_by_geocoded_info(user['id'], -1)
            logging.info("Cannot geocoded %s", user['id'])
            time.sleep(10)
            continue
        locations = geocoder.get(user['location_property'])
        if len(locations) == 0:
            db.update_user_by_geocoded_info(user['id'], -1)
            logging.info("Cannot geocoded %s", user['id'])
            time.sleep(10)
            continue
        location = locations.pop(0)
        location['id'] = location['id'].split('.')[0]

        db.insert_location(location)
        db.update_user_by_geocoded_info(user['id'], location['id'])
        logging.info("Geocoded %s", user['id'])