def post(self): """ >>> v = WineryBaseHandler() >>> v.request.POST = {'name':'Winery'} >>> v.post() >>> v.response.content_type 'application/json' >>> v.response.last_write '{..."key": "stub-key"...}' """ post = self.request.POST winery = Winery() try: key = winery.create(post) winery.update() Event.create(self.request.remote_addr, "Winery", key) except ValueError as e: self.response.status = "400 Bad Request" self.response.write(str(e)) return json_response(self, winery)
def get(self): """ /winery? /winery?country=Canada /winery?region=British Columbia /winery?subregion=Okanagan Valley /winery?name="Black Hills Estate" /winery?location="Canada - British Columbia: Okanagan Valley" /winery?location_fuzzy="Somewhere" """ get = self.request.GET if 'subregion' in get: json_response(self, Winery.subregion_query(get['subregion'])) return if 'region' in get: json_response(self, Winery.region_query(get['region'])) return if 'country' in get: json_response(self, Winery.country_query(get['country'])) return if 'name' in get: json_response(self, Winery.name_query(get['name'])) return if 'location' in get: json_response(self, Winery.location_query(get['location'])) return if 'location_fuzzy' in get: json_response(self, Winery.location_fuzzy_query( get['location_fuzzy'])) return if 'verified_by' in get: json_response(self, Winery.verified_by_query( get['verified_by'])) return if 'verified' in get: verified = False if get['verified'].lower() == 'true': verified = True json_response(self, Winery.verified_query(verified)) return if 'q' in get and get['q'] != '': json_response(self, Winery.search(get['q'])) return #if no params, return entire list. json_response(self, Winery.all_query())
def get(self): """ /winery? /winery?country=Canada /winery?region=British Columbia /winery?subregion=Okanagan Valley /winery?name="Black Hills Estate" /winery?location="Canada - British Columbia: Okanagan Valley" /winery?location_fuzzy="Somewhere" """ get = self.request.GET if 'subregion' in get: json_response(self, Winery.subregion_query(get['subregion'])) return if 'region' in get: json_response(self, Winery.region_query(get['region'])) return if 'country' in get: json_response(self, Winery.country_query(get['country'])) return if 'name' in get: json_response(self, Winery.name_query(get['name'])) return if 'location' in get: json_response(self, Winery.location_query(get['location'])) return if 'location_fuzzy' in get: json_response(self, Winery.location_fuzzy_query(get['location_fuzzy'])) return if 'verified_by' in get: json_response(self, Winery.verified_by_query(get['verified_by'])) return if 'verified' in get: verified = False if get['verified'].lower() == 'true': verified = True json_response(self, Winery.verified_query(verified)) return if 'q' in get and get['q'] != '': json_response(self, Winery.search(get['q'])) return #if no params, return entire list. json_response(self, Winery.all_query())
def get(self): if 'fuzzy' in self.request.GET: json_response(self, Winery.all_fuzzy_locations()) else: json_response(self, regions.location_list)