Esempio n. 1
0
 def _has_cache(self):
     if not 'cache' in self.request.arguments:
         url = self.request.full_url()
         result = cache.cache.get(cache.cache_key(url))
         log.debug(cache.cache_key(url))
         if result:
             log.debug("found cache for url=%s" % url)
             self._result = result
             return True
     return False
Esempio n. 2
0
 def do_delete(self):
     if self.id and self.id not in ['list','all']:
         self.action_get_object(self.id)
     if self.object and hasattr(self.object,'delete'):
         url = self.cache_url()
         log.info("DELETE id=%s for url=%s" % (self.id,url))
         self.object.delete()
         self.object = None
         self.qry = None
         self.set_status(204)
         cache.cache.delete(cache.cache_key(url))
         result = cache.cache.get(cache.cache_key(url))
     else:
         log.error("not found?   %s, %s" % (self.noun, self.id))
Esempio n. 3
0
 def _add_object(self,data_dict):
     o = None
     
     if self.id not in ['',None,'list','get','all']:
         self.action_get_object(self.id, data_dict)
         o = self.object
         if not o:
             o = self.__class__.object_cls()
             o.site_id = self.site.id
             if len(self.qry) == 0:
                 self.qry.append(o)
         log.debug("about to update %s" % data_dict)
         data_dict = self.object_load_dict(o,data_dict)
         o.from_dict(data_dict,allowed_keys=self.__class__.object_cls._allowed_api_keys)
         self.after_dict_load(self.object)
         o.after_load()
     
     if o and o.isvalid():
         self.object = o
         o.save()
         cache.cache.delete(cache.cache_key(self.cache_url()))
         self.after_save(data_dict)
         self.set_status(201)
     else:
         log.error("what went wrong, not valid %s" % o)
Esempio n. 4
0
 def delete_by_get(self):
     self.action_get_object(self.id)
     if self.object and hasattr(self.object,'delete'):
         url = self.request.full_url()
         log.debug("DELETE id=%s for url=%s" % (self.id,url))
         self.object.delete()
         cache.cache.delete(cache.cache_key(url))
         self.object = None
         self.qry = []
         self.set_status(204)
     else:
         log.error("not found?   %s, %s" % (self.noun, self.id))
Esempio n. 5
0
 def do_cache(self,result_string,duration=CACHE_DURATION):
     url = self.cache_url()
     #log.debug('saving cache url=%s = %s' % (url,result_string))
     cache.cache.set(cache.cache_key(url),result_string,duration)