def get(self):
     self.response.headers['Content-Type'] = 'application/csv'
     writer = csv.writer(self.response.out)
     writer.writerow([
         'lat_origin', 'lng_origin',
         'lat', 'lng',
         'address',
     ])
     qry = GeoCodedPlace.query()
     for obj in qry.iter():
         origin = obj.origin.get()
         writer.writerow([
             origin.lat, origin.lng,
             obj.lat, obj.lng,
             obj.address.encode('utf-8'),
         ])
    def post(self):

        lat = self.request.get('lat')
        lng = self.request.get('lng')

        place = Place.create_instance(lat=lat, lng=lng)
        future = place.put_async(use_memcache=True)
        geocoder = GeoCoder(lat, lng)
        result = GeoCodingResult(geocoder, json.loads(self.request.get('json')))

        res = result.as_dict()

        res['origin'] = future.get_result()
        coded = GeoCodedPlace.create_instance(**res)

        future = coded.put_async(use_memcache=True)

        bq = BqQuery(PROJECT_ID, DATASET_ID, TABLE_ID)
        bq.insert([result.as_bq()])

        future.get_result()
        self.response.write('')
    def post(self):
        lat = self.request.get('lat')
        lng = self.request.get('lng')

        place = Place.create_instance(lat=lat, lng=lng)
        future = place.put_async(use_memcache=True)
        geocoder = GeoCoder(lat, lng)
        result = GeoCodingResult(geocoder)

        res = result.as_dict()
        res['origin'] = future.get_result()
        coded = GeoCodedPlace.create_instance(**res)

        future = coded.put_async(use_memcache=True)
        context = {
            'place': place,
            'coded': coded
        }

        bq = BqQuery(PROJECT_ID, DATASET_ID, TABLE_ID)
        bq.insert([result.as_bq()])

        self.render_response('templates/location.html', context)
        future.get_result()