def post(self, version, service_slug): logging.debug("EventsListHandler#post") if (self.valid_version(version)): status_slug = self.request.get("status", default_value=None) message = self.request.get("message", default_value=None) informational = self.request.get("informational", default_value=None) if message: service = Service.get_by_slug(service_slug) if service: if not status_slug: event = service.current_event() if event: status = event.status else: status = Status.default() else: status = Status.get_by_slug(status_slug) if status: e = Event(status=status, service=service, message=message) e.informational = informational and informational == "true" e.put() self.json(e.rest(self.base_url(version))) else: self.error(404, "Status %s not found" % status_slug) else: self.error(404, "Service %s not found" % service_slug) else: self.error(400, "Event message is required") else: self.error(404, "API Version %s not supported" % version)
def get(self, version, service_slug, sid): logging.debug("EventInstanceHandler#get sid=%s" % sid) if (self.valid_version(version)): service = Service.get_by_slug(service_slug) if (service): event = Event.get(db.Key(sid)) if (event and service.key() == event.service.key()): self.json(event.rest(self.base_url(version))) else: self.error(404, "No event for Service %s with sid = %s" % (service_slug,sid)) else: self.error(404, "Service %s not found" % service_slug) else: self.error(404, "API Version %s not supported" % version)
def get(self, version, service_slug): logging.debug("StatusesListHandler#get") if (self.valid_version(version)): service = Service.get_by_slug(service_slug) if service: start = self.request.get('start', default_value=None) end = self.request.get('end', default_value=None) query = Event.all() query.filter('service =', service) if start: try: _start = aware_to_naive(parse(start)) query.filter("start >= ", _start) except: self.error(400, "Invalid Date: %s" % start) return if end: try: _end = aware_to_naive(parse(end)) query.filter("start <=", _end) except: self.error(400, "Invalid Date: %s" % end) return query.order('-start') if query: data = [] for s in query: data.append(s.rest(self.base_url(version))) data = { "events": data } self.json(data) else: self.error(404, "No events for Service %s" % service_slug) else: self.error(404, "Service %s not found" % service_slug) else: self.error(404, "API Version %s not supported" % version)
def delete(self, version, status_slug): logging.debug("StatusInstanceHandler#delete slug=%s" % status_slug) if (self.valid_version(version)): status = Status.get_by_slug(status_slug) if status: # We may want to think more about this events = Event.all().filter('status =', status).fetch(1000) for event in events: event.delete() status.delete() self.json(status.rest(self.base_url(version))) else: self.error(404, "Status %s not found" % service_slug) else: self.error(404, "API Version %s not supported" % version)
def delete(self, version, service_slug): logging.debug("ServiceInstanceHandler#delete slug=%s" % service_slug) if (self.valid_version(version)): service = Service.get_by_slug(service_slug) if service: query = Event.all() query.filter('service =', service) if query: for e in query: e.delete() service.delete() self.json(service.rest(self.base_url(version))) else: self.error(404, "Service %s not found" % service_slug) else: self.error(404, "API Version %s not supported" % version)