def index(self, *args): self.SetTemplate(templateName="ShopProduct_index.html") results =None index = 0; count=20 try: index = int(self.params.index) count = int(self.params.count) except: pass nextIndex = index+count; previousIndex = index<=0 and -1 or (index-count>0 and 0 or index-count) result = {'ShopProductList': ShopProduct.all().fetch(limit=count, offset=index)} result.update(locals()) return result
def get(self): def _simple_error(message, code=400): self.error(code) self.response.out.write( simplejson.dumps({ 'status': 'error', 'error': { 'message': message }, 'results': [] })) return None self.response.headers['Content-Type'] = 'application/json' center = geotypes.Point(float(self.request.get('lat')), float(self.request.get('lon'))) max_results = 100 if self.request.get('maxresults'): max_results = int(self.request.get('maxresults')) max_distance = 80000 # 80 km ~ 50 mi if self.request.get('maxdistance'): max_distance = float(self.request.get('maxdistance')) try: # Can't provide an ordering here in case inequality filters are used. base_query = ShopProduct.all() results = ShopProduct.proximity_fetch(base_query, center, max_results=max_results, max_distance=max_distance) results_obj = [{ 'lat': result.location.lat, 'lng': result.location.lon, } for result in results] self.response.out.write( simplejson.dumps({ 'status': 'success', 'results': results_obj })) except: return _simple_error(str(sys.exc_info()[1]), code=500)
def index(self, *args): self.SetTemplate(templateName="ShopProduct_index.html") results = None index = 0 count = 20 try: index = int(self.params.index) count = int(self.params.count) except: pass nextIndex = index + count previousIndex = index <= 0 and -1 or (index - count > 0 and 0 or index - count) result = { 'ShopProductList': ShopProduct.all().fetch(limit=count, offset=index) } result.update(locals()) return result
def get(self): def _simple_error(message, code=400): self.error(code) self.response.out.write(simplejson.dumps({ 'status': 'error', 'error': { 'message': message }, 'results': [] })) return None self.response.headers['Content-Type'] = 'application/json' center = geotypes.Point(float(self.request.get('lat')), float(self.request.get('lon'))) max_results = 100 if self.request.get('maxresults'): max_results = int(self.request.get('maxresults')) max_distance = 80000 # 80 km ~ 50 mi if self.request.get('maxdistance'): max_distance = float(self.request.get('maxdistance')) try: # Can't provide an ordering here in case inequality filters are used. base_query = ShopProduct.all() results = ShopProduct.proximity_fetch( base_query, center, max_results=max_results, max_distance=max_distance) results_obj = [ { 'lat': result.location.lat, 'lng': result.location.lon, } for result in results] self.response.out.write(simplejson.dumps({ 'status': 'success', 'results': results_obj })) except: return _simple_error(str(sys.exc_info()[1]), code=500)