def post(self, winery_id): """ POST /winery/12345/wine => create a wine for winery """ winery_key = ndb.Key(Winery, int(winery_id)) winery = winery_key.get() if not winery: self.response.status = "404 Not Found" self.response.write("404 Not found.") return post = self.request.POST wine = Wine(parent=winery_key) try: key = wine.create(post, winery) wine.update(winery) Event.create(self.request.remote_addr, "Wine", key) except ValueError as e: self.response.status = "400 Bad Request" self.response.write(str(e)) return json_response(self, wine)
def post(self, winery_id): """ >>> v = Winery() >>> key = v.create({'name':'winery'}) >>> ndb.Key.load_get(v ) >>> h = WineryHandler() >>> h.request.POST = {'location':'Canada'} >>> h.post('12345') >>> h.response.content_type 'application/json' >>> h.response.last_write '{..."country": "Canada"...}' >>> h.response.last_write '{..."name": "winery"...}' >>> h.response.last_write '{..."key":...}' """ post = self.request.POST winery_key = ndb.Key(Winery, int(winery_id)) winery = winery_key.get() try: winery.modify(post) wines = Wine.winery_query(winery) winery.update(wines) Event.update(self.request.remote_addr, "Winery", winery_key) except YouNeedATokenForThat as e: self.response.write(str(e)) self.response.status = "401 Unauthorized" return json_response(self, winery)
def get(self, winery_id): """ /winery/12345/wine => all wines for winery """ winery_key = ndb.Key(Winery, int(winery_id)) winery = winery_key.get() if not winery: self.response.write("404 Not Found") self.response.status = "404 Not Found" return json_response(self, Wine.winery_query(winery))