Exemple #1
0
    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)
Exemple #2
0
    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)
Exemple #3
0
    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)