예제 #1
0
 def query_left_chance(cls, uid, tid):
     datestr = time.strftime('%y%m%d', time.localtime())
     key = cls.LIVE_USER_TASK % {'uid': uid, 'date': datestr}
     left_chance = Redis.hget(key, tid)
     if left_chance is None:
         left_chance = 0
     return int(left_chance)
예제 #2
0
    def format(self, uid):
        tid = str(self._id)
        datestr = time.strftime('%y%m%d', time.localtime())
        if uid:
            key = self.LIVE_USER_TASK % {'uid': uid, 'date': datestr}
            left_chance = int(Redis.hget(key, tid))
        else:
            left_chance = self.chance
        icon_login = self.icon_login or self.icon
        icon_break = self.icon_break or self.icon
        icon_reward = self.icon_reward or self.icon
        icon_out = self.icon_out or self.icon
        data = {
            'id': tid,
            'name': self.name,
            'duration': self.duration,
            'expire_at': self.expire_at,
            'chance': left_chance,
            'icon': urljoin(app.config.get("MEDIA_URL"), self.icon),
            'icon_login': urljoin(app.config.get("MEDIA_URL"), icon_login),
            'icon_break': urljoin(app.config.get("MEDIA_URL"), icon_break),
            'icon_reward': urljoin(app.config.get("MEDIA_URL"), icon_reward),
            'icon_out': urljoin(app.config.get("MEDIA_URL"), icon_out),
        }

        return data
예제 #3
0
 def update_left_chance(cls, uid, tid):
     datestr = time.strftime('%y%m%d', time.localtime())
     key = cls.LIVE_USER_TASK % {'uid': uid, 'date': datestr}
     left_chance = Redis.hget(key, tid)
     if left_chance is None:
         left_chance = cls.get_one(tid)['chance']
     if int(left_chance) < 1:
         return False
     left_chance = int(left_chance) - 1
     Redis.hset(key, tid, left_chance)
     return True
예제 #4
0
 def test_cached_hash(self):
     self._cached_hash()
     self.assertFalse(Redis.exists(self.HASH_KEY))
     self._cached_hash({'dog': 1, 'pig': 2})
     self.assertEqual(Redis.hget(self.HASH_KEY, 'dog'), '1')
     self.assertEqual(Redis.hget(self.HASH_KEY, 'pig'), '2')