예제 #1
0
파일: porm.py 프로젝트: octaflop/herald
 def put(self, pid=None, uid=None, **kwargs):
     """
     Edit a post. Takes a uid or id
     This is a wee bit messy?
     """
     self.pid, self.uid = key(pid, self.kind)
     # this is likely unsafe, but seems to be a good start
     for atr in kwargs.keys():
         R.set("%s:%s:%s" % (self.kind, self.pid, atr), kwargs[atr])
     modtime = datetime.datetime.now()
     R.rpush("%s:%s:modified" % (self.kind, self.pid), modtime)
     return True
예제 #2
0
파일: porm.py 프로젝트: octaflop/herald
 def post(self, container=None):
     """
     Metadata
     """
     self.uid = uuid.uuid1()
     assert unique(self.uid)
     self.atrs = {'uid': uuid.uuid1(),
             self.incr: R.get(POSTINCR),
             'kind': self.kind,
             'publishtime': datetime.datetime.now()}
     for key in self.atrs.keys():
         R.setnx("%s:%s:%s" % (self.kind, self.incr, key), self.atrs[key])
     # stuff forgetting, errr, for getting.
     R.sadd(DEXREF, self.uid) # Global reference
     R.sadd(TYPELST, self.kind)
     # add to container
     if not isinstance(container, str) and not container==None:
         container = "_meta"
     R.rpush(container, "%s:%s" % (self.kind, self.incr))
     R.rpush(RANKREF, "%s:%s" % (self.kind, self.incr))
     R.zadd("%s:%s" % (RANKREF, self.kind), "%s:%s" % (self.kind,\
             self.incr), self.rank)
     R.rpush("global:docs", "%s:%s" % (self.incr, self.uid))
     return True