Esempio n. 1
0
 def results(self):
     if not self._doneresults:
         self.clear()
         res = redis_connection().keys(self.query)
         if self._redis_ordering_key:
             ordered_results = redis_connection().zrangebyscore(self._redis_ordering_key, '-inf', '+inf')
             res.sort(key = lambda o: or_fn(ordered_results, self.asc, len(res), o))
         self._doneresults = True
         self.setresults(res)
Esempio n. 2
0
 def cache(self):
     key = self.makekey()
     attrs = self.cached_attributes()
     r = redis_connection()
     r.set(key, dump(attrs))
     expires = self.expires()
     if expires: r.expireat(key, expires)
     if self.redis_ordering_key: r.zadd(self.redis_ordering_key, key, self.redis_ordering_value())
Esempio n. 3
0
 def deleteall(self):
     r = redis_connection()
     r.delete(self.redis_ordering_key)
     for key in self.all():
         r.delete(key)
     self.clear()
Esempio n. 4
0
 def _makeobj(self, key):
     obj = self._model()
     r = redis_connection()
     res = r.get(key)
     if res: obj.__dict__.update( load(res))
     return obj
Esempio n. 5
0
 def before(self, val):
     keys = redis_connection().zrangebyscore(self._redis_ordering_key, '-inf', val)
     self.intersect(keys)
     return self
Esempio n. 6
0
 def after(self, val):
     keys = redis_connection().zrangebyscore(self._redis_ordering_key, val, '+inf')
     self.intersect(keys)
     return self