def list(self, report_id):
     r = Report.get(Key(report_id))
     cell = Cell.get_or_default(r, 0, 0, 0)
     return self._as_json([
         x.as_dict() for x in iter(cell.children())
         if not self.is_in_backlist(x)
     ])
Exemplo n.º 2
0
 def landsat(self, report_id, id):
     r = Report.get(Key(report_id))
     z, x, y = Cell.cell_id(id)
     cell = Cell.get_or_default(r, x, y, z)
     bounds = cell.bounds(amazon_bounds)
     bounds = "%f,%f,%f,%f" % (bounds[1][1], bounds[1][0], bounds[0][1], bounds[0][0])
     ee = EELandsat(LANDSAT7)
     d = ee.list(bounds=bounds)
     data = {}
     if len(d) >= 1:
         x = d[-1]
         img_info = x.split('/')[2][3:]
         path = img_info[:3]
         row = img_info[3:6]
         year = int(img_info[6: 10])
         julian_date =  img_info[10: 13]
         date = date_from_julian(int(julian_date), year)
         data = {
             'info': img_info,
             'path': path,
             'row': row,
             'year': year,
             'timestamp': timestamp(date),
             'date': date.isoformat()
         }
     return Response(json.dumps(data), mimetype='application/json')
    def ndfi_change(self, report_id, id):
        r = Report.get(Key(report_id))
        z, x, y = Cell.cell_id(id)
        cell = Cell.get_or_default(r, x, y, z)
        ee = ndfi = NDFI('MOD09GA', r.comparation_range(), r.range())

        bounds = cell.bounds(amazon_bounds)
        ne = bounds[0]
        sw = bounds[1]
        # spcify lon, lat F**K, MONKEY BALLS
        polygons = [[(sw[1], sw[0]), (sw[1], ne[0]), (ne[1], ne[0]),
                     (ne[1], sw[0])]]
        cols = 1
        rows = 1
        if z < 2:
            cols = rows = 10
        data = ndfi.ndfi_change_value(r.base_map(), [polygons], rows, cols)
        logging.info(data)
        ndfi = data['data']  #data['data']['properties']['ndfiSum']['values']
        if request.args.get('_debug', False):
            ndfi['debug'] = {
                'request': ee.ee.last_request,
                'response': ee.ee.last_response
            }
        return Response(json.dumps(ndfi), mimetype='application/json')
 def children(self, report_id, id):
     r = Report.get(Key(report_id))
     z, x, y = Cell.cell_id(id)
     cell = Cell.get_or_default(r, x, y, z)
     cells = cell.children()
     return self._as_json(
         [x.as_dict() for x in cells if not self.is_in_backlist(x)])
 def landsat(self, report_id, id):
     r = Report.get(Key(report_id))
     z, x, y = Cell.cell_id(id)
     cell = Cell.get_or_default(r, x, y, z)
     bounds = cell.bounds(amazon_bounds)
     bounds = "%f,%f,%f,%f" % (bounds[1][1], bounds[1][0], bounds[0][1], bounds[0][0])
     ee = EELandsat(LANDSAT7)
     d = ee.list(bounds=bounds)
     data = {}
     if len(d) >= 1:
         x = d[-1]
         img_info = x.split("/")[2][3:]
         path = img_info[:3]
         row = img_info[3:6]
         year = int(img_info[6:10])
         julian_date = img_info[10:13]
         date = date_from_julian(int(julian_date), year)
         data = {
             "info": img_info,
             "path": path,
             "row": row,
             "year": year,
             "timestamp": timestamp(date),
             "date": date.isoformat(),
         }
     return Response(json.dumps(data), mimetype="application/json")
 def landsat(self, report_id, id):
     r = Report.get(Key(report_id))
     z, x, y = Cell.cell_id(id)
     cell = Cell.get_or_default(r, x, y, z)
     bounds = cell.bounds(amazon_bounds)
     bounds = "%f,%f,%f,%f" % (bounds[1][1], bounds[1][0], bounds[0][1],
                               bounds[0][0])
     ee = EELandsat(LANDSAT7)
     d = ee.list(bounds=bounds)
     data = {}
     if len(d) >= 1:
         x = d[-1]
         img_info = x.split('/')[2][3:]
         path = img_info[:3]
         row = img_info[3:6]
         year = int(img_info[6:10])
         julian_date = img_info[10:13]
         date = date_from_julian(int(julian_date), year)
         data = {
             'info': img_info,
             'path': path,
             'row': row,
             'year': year,
             'timestamp': timestamp(date),
             'date': date.isoformat()
         }
     return Response(json.dumps(data), mimetype='application/json')
Exemplo n.º 7
0
    def ndfi_change(self, report_id, id):
        r = Report.get(Key(report_id))
        z, x, y = Cell.cell_id(id)
        cell = Cell.get_or_default(r, x, y, z)
        ee = ndfi = NDFI('MOD09GA',
            r.comparation_range(),
            r.range())

        bounds = cell.bounds(amazon_bounds)
        ne = bounds[0]
        sw = bounds[1]
        # spcify lon, lat 
        polygons = [ (sw[1], sw[0]), (sw[1], ne[0]), (ne[1], ne[0]), (ne[1], sw[0]) ]
        cols = 1
        rows = 1
        if z < 2:
            cols = rows = 5 
        data = ndfi.ndfi_change_value(r.base_map(), {"type":"Polygon","coordinates":[polygons]}, rows, cols)
        logging.info(data)
        ndfi = data['data'] #data['data']['properties']['ndfiSum']['values']
        if request.args.get('_debug', False):
            ndfi['debug'] = {
                'request': ee.ee.last_request,
                'response': ee.ee.last_response
            }
        return Response(json.dumps(ndfi), mimetype='application/json')
Exemplo n.º 8
0
 def list(self, report_id, cell_pos):
     r = Report.get(Key(report_id))
     z, x, y = Cell.cell_id(cell_pos)
     cell = Cell.get_cell(r, x, y, z)
     if not cell:
         return self._as_json([])
     else:
         return self._as_json([x.as_dict() for x in cell.area_set])
Exemplo n.º 9
0
 def list(self, report_id, cell_pos):
     r = Report.get(Key(report_id))
     z, x, y = Cell.cell_id(cell_pos)
     cell = Cell.get_cell(r, x, y, z)
     notes = []
     if cell:
         return self._as_json([x.as_dict() for x in cell.note_set])
     return self._as_json([])
 def list(self, report_id, cell_pos):
     r = Report.get(Key(report_id))
     z, x, y = Cell.cell_id(cell_pos)
     cell = Cell.get_cell(r, x, y, z)
     if not cell:
         return self._as_json([])
     else:
         return self._as_json([x.as_dict() for x in cell.area_set])
 def list(self, report_id, cell_pos):
     r = Report.get(Key(report_id))
     z, x, y = Cell.cell_id(cell_pos)
     cell = Cell.get_cell(r, x, y, z)
     notes = []
     if cell:
         return self._as_json([x.as_dict() for x in cell.note_set])
     return self._as_json([])
 def create(self, report_id, cell_pos):
     r = Report.get(Key(report_id))
     z, x, y = Cell.cell_id(cell_pos)
     cell = Cell.get_or_create(r, x, y, z)
     data = json.loads(request.data)
     if "msg" not in data:
         abort(400)
     a = Note(msg=data["msg"], added_by=users.get_current_user(), cell=cell)
     a.save()
     return Response(a.as_json(), mimetype="application/json")
 def create(self, report_id, cell_pos):
     r = Report.get(Key(report_id))
     z, x, y = Cell.cell_id(cell_pos)
     cell = Cell.get_or_create(r, x, y, z)
     data = json.loads(request.data)
     a = Area(geo=json.dumps(data["paths"]), type=data["type"], added_by=users.get_current_user(), cell=cell)
     a.save()
     cell.last_change_by = users.get_current_user()
     cell.put()
     return Response(a.as_json(), mimetype="application/json")
 def rgb_mapid(self, report_id, id, r, g, b):
     report = Report.get(Key(report_id))
     z, x, y = Cell.cell_id(id)
     cell = Cell.get_or_default(report, x, y, z)
     ndfi = NDFI("MOD09GA", report.comparation_range(), report.range())
     poly = cell.bbox_polygon(amazon_bounds)
     mapid = ndfi.rgb_strech(poly, tuple(map(int, (r, g, b))))
     if "data" not in mapid:
         abort(404)
     return Response(json.dumps(mapid["data"]), mimetype="application/json")
 def get(self, report_id, id):
     r = Report.get(Key(report_id))
     s = self.stats_for(str(r.key().id()), r.assetid, int(id))
     if request.args.get('_debug', False):
         s['debug'] = {
             'request': self.ee.ee.last_request,
             'response': self.ee.ee.last_response
         }
     data = json.dumps(s)
     return Response(data, mimetype='application/json')
Exemplo n.º 16
0
 def get(self, report_id, id):
     r = Report.get(Key(report_id))
     s = self.stats_for(str(r.key().id()), r.assetid, int(id))
     if request.args.get('_debug', False):
         s['debug'] = {
             'request': self.ee.ee.last_request,
             'response': self.ee.ee.last_response
         }
     data = json.dumps(s)
     return Response(data, mimetype='application/json')
 def create(self, report_id, cell_pos):
     r = Report.get(Key(report_id))
     z, x, y = Cell.cell_id(cell_pos)
     cell = Cell.get_or_create(r, x, y, z)
     data = json.loads(request.data)
     if 'msg' not in data:
         abort(400)
     a = Note(msg=data['msg'], added_by=users.get_current_user(), cell=cell)
     a.save()
     return Response(a.as_json(), mimetype='application/json')
 def rgb_mapid(self, report_id, id, r, g, b):
     report = Report.get(Key(report_id))
     z, x, y = Cell.cell_id(id)
     cell = Cell.get_or_default(report, x, y, z)
     ndfi = NDFI('MOD09GA', report.comparation_range(), report.range())
     poly = cell.bbox_polygon(amazon_bounds)
     mapid = ndfi.rgb_strech(poly, tuple(map(int, (r, g, b))))
     if 'data' not in mapid:
         abort(404)
     return Response(json.dumps(mapid['data']), mimetype='application/json')
Exemplo n.º 19
0
 def rgb_mapid(self, report_id, operation, id, r, g, b, sensor):
     report = Report.get(Key(report_id))
     z, x, y = Cell.cell_id(id)
     cell = Cell.get_or_default(report, operation, x, y, z)
     ndfi = NDFI(report.comparation_range(), report.range())
     poly = cell.bbox_polygon(amazon_bounds)
     mapid = ndfi.rgb_stretch(poly, sensor, tuple(map(int, (r, g, b))))
     if not mapid:
         abort(404)
     return Response(json.dumps(mapid), mimetype='application/json')
Exemplo n.º 20
0
 def list(self, report_id):
     cache_key = self._cache_key(report_id)
     data = memcache.get(cache_key)
     if not data:
         r = Report.get(Key(report_id))
         ndfi = NDFI(r.comparation_range(), r.range())
         data = ndfi.mapid2(r.base_map())
         if not data:
             abort(404)
         memcache.add(key=cache_key, value=data, time=3600)
     return jsonify(data)
Exemplo n.º 21
0
 def list(self, report_id):
     cache_key = self._cache_key(report_id)
     data = memcache.get(cache_key)
     if not data:
         r = Report.get(Key(report_id))
         ndfi = NDFI(r.comparation_range(), r.range())
         data = ndfi.mapid2(r.base_map())
         if not data:
             abort(404)
         memcache.add(key=cache_key, value=data, time=3600)
     return jsonify(data)
Exemplo n.º 22
0
def update_total_stats_for_report(report_id):
    r = Report.get(Key(report_id))
    stats = StatsStore.get_for_report(report_id)
    if stats:
        s = stats.table_accum(tables_map['Legal Amazon'])
        logging.info("stats for %s" % s)
        if s:
            r.degradation = s['deg']
            r.deforestation = s['def']
            r.put()
    else:
        logging.error("can't find stats for %s" % report_id)
def update_total_stats_for_report(report_id):
    r = Report.get(Key(report_id))
    stats = StatsStore.get_for_report(report_id)
    if stats:
        s = stats.table_accum(tables_map['Legal Amazon'])
        logging.info("stats for %s" % s)
        if s:
            r.degradation = s['deg']
            r.deforestation = s['def']
            r.put()
    else:
        logging.error("can't find stats for %s" % report_id)
Exemplo n.º 24
0
 def list(self, report_id, sensor):
     cache_key = self._cache_key(report_id, sensor)
     data = memcache.get(cache_key)
     if not data:
         r = Report.get(Key(report_id))
         ndfi = NDFI(r.comparation_range(), r.range())
         logging.info('((((( Report Id: ' + str(report_id) +', Sensor:'+ str(sensor) +' )))))')
         data = ndfi.mapid2(r.base_map(), sensor)
         if not data:
             abort(404)
         memcache.add(key=cache_key, value=data, time=3600)
     return jsonify(data)
 def create(self, report_id, cell_pos):
     r = Report.get(Key(report_id))
     z, x, y = Cell.cell_id(cell_pos)
     cell = Cell.get_or_create(r, x, y, z)
     data = json.loads(request.data)
     a = Area(geo=json.dumps(data['paths']),
              type=data['type'],
              added_by=users.get_current_user(),
              cell=cell)
     a.save()
     cell.last_change_by = users.get_current_user()
     cell.put()
     return Response(a.as_json(), mimetype='application/json')
 def list(self, report_id):
     cache_key = self._cache_key(report_id)
     data = memcache.get(cache_key)
     if not data:
         r = Report.get(Key(report_id))
         ee_resource = "MOD09GA"
         ndfi = NDFI(ee_resource, r.comparation_range(), r.range())
         data = ndfi.mapid2(r.base_map())
         logging.info(data)
         if "data" not in data:
             abort(404)
         data = data["data"]
         memcache.add(key=cache_key, value=data, time=3600)
     return jsonify(data)
Exemplo n.º 27
0
    def update(self, report_id, id):
        r = Report.get(Key(report_id))
        z, x, y = Cell.cell_id(id)
        cell = Cell.get_or_default(r, x, y, z)
        cell.report = r

        data = json.loads(request.data)
        cell.ndfi_low = float(data['ndfi_low'])
        cell.ndfi_high = float(data['ndfi_high'])
        cell.done = data['done']
        cell.last_change_by = users.get_current_user()
        cell.put()

        return Response(cell.as_json(), mimetype='application/json')
 def list(self, report_id):
     cache_key = self._cache_key(report_id)
     data = memcache.get(cache_key)
     if not data:
         r = Report.get(Key(report_id))
         ee_resource = 'MOD09GA'
         ndfi = NDFI(ee_resource, r.comparation_range(), r.range())
         data = ndfi.mapid2(r.base_map())
         logging.info(data)
         if 'data' not in data:
             abort(404)
         data = data['data']
         memcache.add(key=cache_key, value=data, time=3600)
     return jsonify(data)
    def update(self, report_id, id):
        r = Report.get(Key(report_id))
        z, x, y = Cell.cell_id(id)
        cell = Cell.get_or_default(r, x, y, z)
        cell.report = r

        data = json.loads(request.data)
        cell.ndfi_low = float(data['ndfi_low'])
        cell.ndfi_high = float(data['ndfi_high'])
        cell.done = data['done']
        cell.last_change_by = users.get_current_user()
        cell.put()

        return Response(cell.as_json(), mimetype='application/json')
Exemplo n.º 30
0
def update_report_stats(report_id):
    r = Report.get(Key(report_id))
    stats = {'id': report_id, 'stats': {}}
    for desc, table, name in tables:
        stats['stats'].update(stats_for(str(r.key().id()), r.assetid, table))
        # sleep for some time to avoid problems with FT
        time.sleep(4)

    data = json.dumps(stats)
    s = StatsStore.get_for_report(report_id)
    if s:
        s.json = data
        s.put()
    else:
        StatsStore(report_id=report_id, json=data).put()
    # wait a little bit to allow app store saves the data
    time.sleep(1.0)
    update_total_stats_for_report(report_id)
Exemplo n.º 31
0
 def close(self, report_id):
     """ close current and create new one """
     r = Report.get(Key(report_id))
     if not r.finished:
         ndfi = NDFI(r.comparation_range(), r.range())
         data = ndfi.freeze_map(r.base_map(), int(settings.FT_TABLE_ID), r.key().id())
         logging.info(data)
         if 'data' not in data:
             abort(400)
         data = data['data']['id']
         r.close(data)
         cache_key = NDFIMapApi._cache_key(report_id)
         memcache.delete(cache_key)
         # open new report
         new_report = Report(start=date.today())
         new_report.put()
         return str(new_report.key())
     return "already finished"
Exemplo n.º 32
0
    def update(self, report_id, operation, id):
        r = Report.get(Key(report_id))
        z, x, y = Cell.cell_id(id)
        cell = Cell.get_or_default(r, operation, x, y, z)
        cell.report = r

        data = json.loads(request.data)
        cell.ndfi_low = float(data['ndfi_low'])
        cell.ndfi_high = float(data['ndfi_high'])
        cell.compare_view = str(data['compare_view'])
        cell.map_one_layer_status = str(data['map_one_layer_status'])
        cell.map_two_layer_status = str(data['map_two_layer_status'])
        cell.map_three_layer_status = str(data['map_three_layer_status'])
        cell.map_four_layer_status = str(data['map_four_layer_status'])
        cell.done = data['done']
        cell.last_change_by = users.get_current_user()
        cell.put()

        return Response(cell.as_json(), mimetype='application/json')
Exemplo n.º 33
0
 def close(self, report_id):
     """ close current and create new one """
     r = Report.get(Key(report_id))
     if not r.finished:
         ndfi = NDFI(r.comparation_range(), r.range())
         data = ndfi.freeze_map(r.base_map(), int(settings.FT_TABLE_ID),
                                r.key().id())
         logging.info(data)
         if 'data' not in data:
             abort(400)
         data = data['data']['id']
         r.close(data)
         cache_key = NDFIMapApi._cache_key(report_id)
         memcache.delete(cache_key)
         # open new report
         new_report = Report(start=date.today())
         new_report.put()
         return str(new_report.key())
     return "already finished"
    def ndfi_change(self, report_id, id):
        r = Report.get(Key(report_id))
        z, x, y = Cell.cell_id(id)
        cell = Cell.get_or_default(r, x, y, z)
        ee = ndfi = NDFI("MOD09GA", r.comparation_range(), r.range())

        bounds = cell.bounds(amazon_bounds)
        ne = bounds[0]
        sw = bounds[1]
        # spcify lon, lat F**K, MONKEY BALLS
        polygons = [[(sw[1], sw[0]), (sw[1], ne[0]), (ne[1], ne[0]), (ne[1], sw[0])]]
        cols = 1
        rows = 1
        if z < 2:
            cols = rows = 10
        data = ndfi.ndfi_change_value(r.base_map(), [polygons], rows, cols)
        logging.info(data)
        ndfi = data["data"]  # data['data']['properties']['ndfiSum']['values']
        if request.args.get("_debug", False):
            ndfi["debug"] = {"request": ee.ee.last_request, "response": ee.ee.last_response}
        return Response(json.dumps(ndfi), mimetype="application/json")
    def ndfi_change(self, report_id, id):
        r = Report.get(Key(report_id))
        z, x, y = Cell.cell_id(id)
        cell = Cell.get_or_default(r, x, y, z)
        ndfi = NDFI('MOD09GA',
            r.comparation_range(),
            r.range())

        bounds = cell.bounds(amazon_bounds)
        ne = bounds[0]
        sw = bounds[1]
        # spcify lon, lat F**K, MONKEY BALLS
        polygons = [[ (sw[1], sw[0]), (sw[1], ne[0]), (ne[1], ne[0]), (ne[1], sw[0]) ]]
        cols = 1
        rows = 1
        if z < 2:
            cols = rows = 10
        data = ndfi.ndfi_change_value(r.base_map(), [polygons], rows, cols)
        logging.info(data)
        ndfi = data['data'] #data['data']['properties']['ndfiSum']['values']
        return Response(json.dumps(ndfi), mimetype='application/json')
def update_report_stats(report_id):
    r = Report.get(Key(report_id))
    stats = {
        'id': report_id,
        'stats': {}
    }
    for desc, table, name in tables:
        stats['stats'].update(stats_for(str(r.key().id()), r.assetid, table))
        # sleep for some time to avoid problems with FT 
        time.sleep(4)

    data = json.dumps(stats)
    s = StatsStore.get_for_report(report_id)
    if s:
        s.json = data
        s.put()
    else:
        StatsStore(report_id=report_id, json=data).put()
    # wait a little bit to allow app store saves the data
    time.sleep(1.0)
    update_total_stats_for_report(report_id)
Exemplo n.º 37
0
 def polygon(self):
     """ return stats for given polygon """
     data = json.loads(request.data)
     polygon = data['polygon']
     reports = data['reports']
     try:
         reports = [Report.get(Key(x)) for x in reports]
     except ValueError:
         logging.error("can't find some report")
         abort(404)
     #TODO: test if polygon is ccw
     # exchange lat, lon -> lon, lat
     normalized_poly = [(coord[1], coord[0]) for coord in polygon]
     stats = self.ee.get_stats_for_polygon([(str(r.key().id()), r.assetid) for r in reports], [normalized_poly])
     try:
         # aggregate
         data['def'] = sum(s['def'] for s in stats)
         data['deg'] = sum(s['deg'] for s in stats)
         data['total_area'] = stats[0]['total_area']
         return Response(json.dumps(data), mimetype='application/json')
     except (KeyError, ValueError, IndexError):
         abort(404)
Exemplo n.º 38
0
 def polygon(self):
     """ return stats for given polygon """
     data = json.loads(request.data)
     polygon = data['polygon']
     reports = data['reports']
     try:
         reports = [Report.get(Key(x)) for x in reports]
     except ValueError:
         logging.error("can't find some report")
         abort(404)
     #TODO: test if polygon is ccw
     # exchange lat, lon -> lon, lat
     normalized_poly = [(coord[1], coord[0]) for coord in polygon]
     stats = self.ee.get_stats_for_polygon([(str(r.key().id()), r.assetid) for r in reports], [normalized_poly])
     try:
         # aggregate
         data['def'] = sum(s['def'] for s in stats)
         data['deg'] = sum(s['deg'] for s in stats)
         data['total_area'] = stats[0]['total_area']
         return Response(json.dumps(data), mimetype='application/json')
     except (KeyError, ValueError, IndexError):
         abort(404)
Exemplo n.º 39
0
    def ndfi_change(self, report_id, id):
        r = Report.get(Key(report_id))
        z, x, y = Cell.cell_id(id)
        cell = Cell.get_or_default(r, x, y, z)
        ee = ndfi = NDFI(r.comparation_range(), r.range())

        bounds = cell.bounds(amazon_bounds)
        ne = bounds[0]
        sw = bounds[1]
        # spcify lon, lat
        polygons = [(sw[1], sw[0]), (sw[1], ne[0]), (ne[1], ne[0]),
                    (ne[1], sw[0])]
        cols = 1
        rows = 1
        if z < 2:
            cols = rows = 5
        data = ndfi.ndfi_change_value(r.base_map(), {
            "type": "Polygon",
            "coordinates": [polygons]
        }, rows, cols)
        logging.info(data)
        ndfi = data  #data['properties']['ndfiSum']['values']
        return Response(json.dumps(ndfi), mimetype='application/json')
Exemplo n.º 40
0
 def get(self, report_id, id):
     r = Report.get(Key(report_id))
     s = self.stats_for(str(r.key().id()), r.assetid, int(id))
     data = json.dumps(s)
     return Response(data, mimetype='application/json')
Exemplo n.º 41
0
 def list(self, report_id):
     r = Report.get(Key(report_id))
     cell = Cell.get_or_default(r, 0, 0, 0)
     return self._as_json([x.as_dict() for x in iter(cell.children()) if not self.is_in_backlist(x)])
Exemplo n.º 42
0
 def children(self, report_id, id):
     r = Report.get(Key(report_id))
     z, x, y = Cell.cell_id(id)
     cell = Cell.get_or_default(r, x, y, z)
     cells = cell.children()
     return self._as_json([x.as_dict() for x in cells if not self.is_in_backlist(x)])
Exemplo n.º 43
0
 def get(self, report_id, id):
     r = Report.get(Key(report_id))
     z, x, y = Cell.cell_id(id)
     cell = Cell.get_or_default(r, x, y, z)
     return Response(cell.as_json(), mimetype='application/json')
 def get(self, report_id, id):
     r = Report.get(Key(report_id))
     z, x, y = Cell.cell_id(id)
     cell = Cell.get_or_default(r, x, y, z)
     return Response(cell.as_json(), mimetype='application/json')
Exemplo n.º 45
0
 def get(self, id):
     r = Report.get(Key(id))
     return Response(r.as_json(), mimetype='application/json')
Exemplo n.º 46
0
 def get(self, report_id, id):
     r = Report.get(Key(report_id))
     s = self.stats_for(str(r.key().id()), r.assetid, int(id))
     data = json.dumps(s)
     return Response(data, mimetype='application/json')
 def bounds(self, report_id, id):
     r = Report.get(Key(report_id))
     z, x, y = Cell.cell_id(id)
     cell = Cell.get_or_default(r, x, y, z)
     return Response(json.dumps(cell.bounds(amazon_bounds)),
                     mimetype='application/json')
 def get(self, id):
     r = Report.get(Key(id))
     return Response(r.as_json(), mimetype='application/json')
Exemplo n.º 49
0
 def bounds(self, report_id, id):
     r = Report.get(Key(report_id))
     z, x, y = Cell.cell_id(id)
     cell = Cell.get_or_default(r, x, y, z)
     return Response(json.dumps(cell.bounds(amazon_bounds)), mimetype='application/json')