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
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))
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)
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))
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)