def get(self): cursor = self.request.get('cursor', "") page = self.request.get_range('page') if cursor: cursor = Cursor(urlsafe=cursor) ss, next_curs, more = Store.query().fetch_page(100, start_cursor=cursor) else: ss, next_curs, more = Store.query().fetch_page(100) base_template = u''' <div> {} </div> <form> <input name='cursor' value='{}'> <input type='submit' value="下一頁"> </form> ''' store_template = u''' <div> <h2>{0}{1.name}</h2> <a href="/store/{0}?action=delete" target="_blank">刪除store</a> <ul>{2}</ul> </div> ''' img_template = u''' <li> <img src="{1}"> <a href="/images/{0}?action=delete&{2}" target="_blank" >刪除圖片</a> <a href="/images/{0}?action=set&tag=Parity&{2}" target="_blank" >平價</a> <a href="/images/{0}?action=set&tag=Meals&{2}" target="_blank" >簡餐</a> <a href="/images/{0}?action=set&tag=Restaurant&{2}" target="_blank" >餐廳</a> <a href="/images/{0}?action=set&tag=Space&{2}" target="_blank" >空間</a> <a href="/images/{0}?action=set&tag=drink&{2}" target="_blank" >飲料</a> <div>{3}</div> </li> ''' stores = [] for s in ss: imgs = [] for img in s.imgs: try: code = urllib.urlencode({'url':img.image}) imgs.append(img_template.format(s.key.id(), img.image, code, img.tag)) except Exception as e: pass imgs = "\n".join(imgs) try: stores.append(store_template.format(s.key.id(), s, imgs)) except Exception as e: print e html = base_template.format("\n".join(stores), next_curs.urlsafe()) self.response.out.write(html)
def get(self): # I ran out of time to silo the data per-user, so I left this as a PoC. nearby_query = Store.query().order(Store.distance) nearby = nearby_query.fetch(WANTED) self.response.headers['Content-Type'] = 'application/json' data = [] for place in nearby: datum = { prop: getattr(place, prop) for prop in ('place_id', 'name', 'vicinity', 'icon', 'distance',) } datum['lat'] = place.client_latlng.lat datum['lng'] = place.client_latlng.lon data.append(datum) self.response.write(json.dumps(data))
def SetDes(): import requests, urllib, json from models import Store query = Store.query().fetch(1000) for obj in query: GetDag(obj)