コード例 #1
0
ファイル: update.py プロジェクト: de1o/MoePad
    def cleanExpiredItem(self):
        expiringItems = rs.zrange(ORDERED_SET, 0, -1)
        verifyingItems = filter(lambda x: x.startswith(VERIFYING_PREFIX),
                                expiringItems)
        for verifyingKey in verifyingItems:
            print rs.zscore(ORDERED_SET, verifyingKey) - time.time(), '---'
            if rs.zscore(ORDERED_SET, verifyingKey) < time.time():
                # if a verifying key in zset, if it is expired by score,
                # first check if this key exist in verifying pool,
                # if not, just delete from zset
                rs.zrem(ORDERED_SET, verifyingKey)
                data = rs.hgetall(verifyingKey)
                if not data:
                    break
                title = verifyingKey.strip(VERIFYING_PREFIX)
                verifiedKey = VERIFIED_PREFIX + title
                rs.zadd(ORDERED_SET, VERIFIED_PREFIX+title,
                        time.time()+VERIFIED_EXPIRE)
                rs.hmset(verifiedKey, data)
                rs.expire(verifiedKey, VERIFIED_EXPIRE)
                rs.delete(verifyingKey)

        notVerifyingItem = filter(
            lambda x: not x.startswith(VERIFYING_PREFIX), expiringItems)
        for item in notVerifyingItem:
            if rs.zscore(ORDERED_SET, item) < time.time():
                rs.zrem(ORDERED_SET, item)
コード例 #2
0
ファイル: update.py プロジェクト: alphazw/moedj
def filterExistedItems(that):
    existedKeys = rs.keys(WIKIITEM_PREFIX+"*")
    existedItems = []
    if existedKeys:
        existedItems = rs.mget(existedKeys)
    verifyingItems = rs.zrange(VERIFYING_SET, 0, -1)
    existedItems += verifyingItems
    for item in existedItems:
        if that == item.decode('utf-8'):
            return False
    return True
コード例 #3
0
def filterExistedItems(that):
    existedKeys = rs.keys(WIKIITEM_PREFIX + "*")
    existedItems = []
    if existedKeys:
        existedItems = rs.mget(existedKeys)
    verifyingItems = rs.zrange(VERIFYING_SET, 0, -1)
    existedItems += verifyingItems
    for item in existedItems:
        if that == item.decode('utf-8'):
            return False
    return True
コード例 #4
0
ファイル: update.py プロジェクト: de1o/MoePad
    def getItemTobeSend(self):
        ItemTobeSendTitle = None
        expiringItems = rs.zrange(ORDERED_SET, 0, -1)
        verifiedItems = filter(lambda x: x.startswith(VERIFIED_PREFIX),
                               expiringItems)
        print expiringItems
        print verifiedItems
        if verifiedItems:
            ItemTobeSendTitle = verifiedItems.pop(0)
        if not ItemTobeSendTitle:
            logger.info('No verified New Item')
            editedItems = filter(lambda x: x.startswith(EDITED_PREFIX),
                                 expiringItems)
            if editedItems:
                ItemTobeSendTitle = editedItems.pop(0)
        if not ItemTobeSendTitle:
            logger.info('No Edited New Item')
            self.ItemTobeSend = None
            self.ItemTobeSendTitle = None
            return None

        self.ItemTobeSend = rs.hgetall(ItemTobeSendTitle)
        self.ItemTobeSendTitle = ItemTobeSendTitle
コード例 #5
0
ファイル: update.py プロジェクト: alphazw/moedj
def autoVerifyExpiredItems():
    verifyingSet = rs.zrange(VERIFYING_SET, 0, -1)
    for verifyingKey in verifyingSet:
        if verifyingKeyExpired(verifyingKey):
            rs.zrem(VERIFYING_SET, verifyingKey)
            rs.set(NEWITEM+verifyingKey, verifyingKey, VERIFIED_EXPIRE)
コード例 #6
0
def autoVerifyExpiredItems():
    verifyingSet = rs.zrange(VERIFYING_SET, 0, -1)
    for verifyingKey in verifyingSet:
        if verifyingKeyExpired(verifyingKey):
            rs.zrem(VERIFYING_SET, verifyingKey)
            rs.set(NEWITEM + verifyingKey, verifyingKey, VERIFIED_EXPIRE)