Example #1
0
    def process(self):
        
        method = self.token.request.method

        self.query = self.token.request.args.get('query',"{}")
        self.query = json.loads(self.query)
        self.query=dict([("%s.%s" % (self.DATA_EL,k),v) for k,v in self.query.iteritems()])

        self.order = self.token.request.args.get('order',"[]")
        self.order = json.loads(self.order)
        self.order=[("%s.%s" % (self.DATA_EL,k),v) for k,v in self.order]

        self.start = self.token.request.args.get('start',0)
        self.start = int(self.start)
        
        self.limit = self.token.request.args.get('limit',1000)
        self.limit = int(self.limit)
        if self.limit == 0:
            self.limit = None

        self.fields = self.token.request.args.get('fields')
        if self.fields != None:
            self.fields = json.loads(self.fields)
            self.fields =[ "%s.%s" % (self.DATA_EL,k) for k in self.fields]
            self.fields.append(self.META_EL)

        self.count = self.token.request.args.get('count',0)
        self.count = int(self.count)

        L.debug("DBOperation:: method=%r" % method)
        L.debug("DBOperation:: path=%r slug=%r data=%r" % (self.token.path, self.token.slug, self.token.data))
        if method in ['GET', 'PUT', 'POST', 'DELETE']:
            getattr(self,method.lower())()
        L.debug("DBOperation:: result=%s" % snip(repr(self.token.response)))
Example #2
0
    def process(self):

        method = self.token.request.method

        self.query = self.token.request.args.get("query", "{}")
        self.query = json.loads(self.query)
        self.query = dict([("%s.%s" % (self.DATA_EL, k), v) for k, v in self.query.iteritems()])

        self.order = self.token.request.args.get("order", "[]")
        self.order = json.loads(self.order)
        self.order = [("%s.%s" % (self.DATA_EL, k), v) for k, v in self.order]

        self.start = self.token.request.args.get("start", 0)
        self.start = int(self.start)

        self.limit = self.token.request.args.get("limit", 1000)
        self.limit = int(self.limit)
        if self.limit == 0:
            self.limit = None

        self.fields = self.token.request.args.get("fields")
        if self.fields != None:
            self.fields = json.loads(self.fields)
            self.fields = ["%s.%s" % (self.DATA_EL, k) for k in self.fields]
            self.fields.append(self.META_EL)

        self.count = self.token.request.args.get("count", 0)
        self.count = int(self.count)

        L.debug("DBOperation:: method=%r" % method)
        L.debug("DBOperation:: path=%r slug=%r data=%r" % (self.token.path, self.token.slug, self.token.data))
        if method in ["GET", "PUT", "POST", "DELETE"]:
            getattr(self, method.lower())()
        L.debug("DBOperation:: result=%s" % snip(repr(self.token.response)))
Example #3
0
def noslug(path):
    L.info("dbserver::noslug::%s:%s, %s" % (request.method, path, request.url))
    response, content_type, headers = process(path, None)
    L.info("%s %s %s" % (snip(response), content_type, headers))
    return Response(response=response,
                    content_type=content_type,
                    headers=headers)
Example #4
0
 def process(self):
     data = json.dumps(self.token.response)
     if self.token.request.method == "GET":
         if data != 'null':
             L.info("CacheSetter: storing in %s <== %s" %
                    (self.token.cache_key, snip(str(data))))
             store_in_cache(self.token.cache_key, data)
Example #5
0
 def process(self):
     data = json.dumps(self.token.response)
     if data != 'null':
         L.info("CacheSetter: storing in %s <== %s" %
                (self.token.cache_key, snip(str(data))))
         store_in_cache(
             self.token.cache_key.encode('utf8').encode('hex'),
             data.encode('utf8').encode('hex'))
Example #6
0
    def process(self):
        self.token.cache_key = json.dumps(self.token.path) + '|' + json.dumps(self.token.slug) + '|' + '|'.join([ self.token.request.args.get(arg,'') for arg in self.ARGS_FOR_KEY ])
        if self.token.request.args.get('hitcache',"1") == "0":
            L.info("Skipping cache as requested for %s/%s" % (self.token.path,self.token.slug))
            return 

        data = hit_cache(self.token.cache_key.encode('utf8').encode('hex'))
        L.info("Data for key %s == %s" % (self.token.cache_key,snip(repr(data))))
        if data != None:
            self.token.response = json.loads(data.decode('hex').decode('utf8'))
            self.should_stop = True
            self.skip_to = "DataFormatter"
 def process(self):
     
     for emitter in EMITTERS:
         E = Emitter.get_emitter(emitter)
         e = E(self.token)
         if e.condition():
             L.debug("DataFormatter:: using emitter %s" % emitter)
             e.format()
             break
     else:
         emitter = "HtmlFormatter"
         E = Emitter.get_emitter(emitter)
         e = E(self.token)
         L.debug("DataFormatter:: using default emitter %s" % emitter)
         e.format()
     L.debug("DataFormatter:: token.response=%s (%s)" % (snip(repr(self.token.response)),self.token.content_type))
Example #8
0
    def process(self):

        for emitter in EMITTERS:
            E = Emitter.get_emitter(emitter)
            e = E(self.token)
            if e.condition():
                L.debug("DataFormatter:: using emitter %s" % emitter)
                e.format()
                break
        else:
            emitter = "HtmlFormatter"
            E = Emitter.get_emitter(emitter)
            e = E(self.token)
            L.debug("DataFormatter:: using default emitter %s" % emitter)
            e.format()
        L.debug("DataFormatter:: token.response=%s (%s)" %
                (snip(repr(self.token.response)), self.token.content_type))
Example #9
0
    def process(self):
        self.token.cache_key = json.dumps(self.token.path) + '|' + json.dumps(
            self.token.slug) + '|' + '|'.join([
                self.token.request.args.get(arg, '')
                for arg in self.ARGS_FOR_KEY
            ])
        if self.token.request.args.get('hitcache', "1") == "0":
            L.info("Skipping cache as requested for %s/%s" %
                   (self.token.path, self.token.slug))
            return

        data = hit_cache(self.token.cache_key.encode('utf8').encode('hex'))
        L.info("Data for key %s == %s" %
               (self.token.cache_key, snip(repr(data))))
        if data != None:
            self.token.response = json.loads(data.decode('hex').decode('utf8'))
            self.should_stop = True
            self.skip_to = "DataFormatter"
 def process(self):
     self.token.cache_key = (
         json.dumps(self.token.path)
         + "|"
         + json.dumps(self.token.slug)
         + "|"
         + "|".join([self.token.request.args.get(arg, "") for arg in self.ARGS_FOR_KEY])
     )
     if self.token.request.args.get("hitcache", "1") == "0":
         L.info("Skipping cache as requested for %s/%s" % (self.token.path, self.token.slug))
         return
     if self.token.request.method == "GET":
         data = hit_cache(self.token.cache_key)
         L.info("Data for key %s == %s" % (self.token.cache_key, snip(repr(data))))
         if data != None:
             self.token.response = json.loads(data)
             self.should_stop = True
             self.skip_to = "DataFormatter"
     else:
         clear_cache(self.token.cache_key)
         clear_cache_for_path(self.token.path)
Example #11
0
 def process(self):
     self.token.cache_key = json.dumps(self.token.path) + '|' + json.dumps(
         self.token.slug) + '|' + '|'.join([
             self.token.request.args.get(arg, '')
             for arg in self.ARGS_FOR_KEY
         ])
     if self.token.request.args.get('hitcache', "1") == "0":
         L.info("Skipping cache as requested for %s/%s" %
                (self.token.path, self.token.slug))
         return
     if self.token.request.method == "GET":
         data = hit_cache(self.token.cache_key)
         L.info("Data for key %s == %s" %
                (self.token.cache_key, snip(repr(data))))
         if data != None:
             self.token.response = json.loads(data)
             self.should_stop = True
             self.skip_to = "DataFormatter"
     else:
         clear_cache(self.token.cache_key)
         clear_cache_for_path(self.token.path)
Example #12
0
def noslug(path):
    L.info("dbserver::noslug::%s:%s, %s" % (request.method,path,request.url))
    response, content_type, headers = process(path,None)
    L.info("%s %s %s" % (snip(response), content_type, headers))
    return Response(response=response, content_type=content_type, headers=headers)
Example #13
0
 def process(self):
     data = json.dumps(self.token.response)
     if self.token.request.method == "GET":
         if data != 'null':
             L.info("CacheSetter: storing in %s <== %s" % (self.token.cache_key,snip(str(data))))
             store_in_cache(self.token.cache_key,data)
Example #14
0
    def process(self):
        data = json.dumps(self.token.response)
	if data != 'null':
            L.info("CacheSetter: storing in %s <== %s" % (self.token.cache_key,snip(str(data))))
            store_in_cache(self.token.cache_key.encode('utf8').encode('hex'),data.encode('utf8').encode('hex'))