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'])