def post(self): entity_key_urlsafe = self.request.get("entity_key") if (self.request.get('type') == 'Event'): if entity_key_urlsafe: event_key = ndb.Key(urlsafe=entity_key_urlsafe) event = event_key.get() timestamp = datetime.datetime.strptime(self.request.get("date"), "%Y-%m-%dT%H:%M") event.date = timestamp.date() event.time = timestamp.time() event.title = self.request.get("title") event.description = self.request.get("description") event.put() else: timestamp = datetime.datetime.strptime(self.request.get("date"), "%Y-%m-%dT%H:%M") new_event = Event(parent=PARENT_KEY, date=timestamp.date(), time=timestamp.time(), title=self.request.get('title'), description=self.request.get('description')) new_event.put() elif (self.request.get('type') == 'Announcement'): if entity_key_urlsafe: announcement_key = ndb.Key(urlsafe=entity_key_urlsafe) announcement = announcement_key.get() announcement.title = self.request.get("title") announcement.description = self.request.get("description") announcement.put() else: new_announcement = Announcement(parent=PARENT_KEY, title=self.request.get('title'), description=self.request.get('description')) new_announcement.put() self.redirect(self.request.referer)
def post(self, version): logging.debug("AnnouncementsListHandler#post") if (self.valid_version(version)): message = self.request.get('message', default_value=None) region = self.request.get('region', default_value=None) key = self.request.get('key', default_value=None) if message: if key: # modify an existing announcement a = Announcement.get(key) a.message = message else: # create a new announcement a = Announcement(message=message) if region: region = Region.get_by_name(region) a.region = region else: a.region = None a.put() self.json(a.to_json()) else: self.error(400, "Bad Data: Missing Message") else: self.error(404, "API Version %s not supported" % version)
def announcement_insert(self, request): """insert or update an announcement""" if request.from_datastore: my_announcement = request else: my_announcement = Announcement(parent=main.PARENT_KEY, title=request.title, description=request.description) my_announcement.put() return my_announcement