def check(self, sched, reenter=True): queue = self.api.get_skill_queue() if (queue.is_empty and self._has_changed(queue, "is_empty")): self.notify.send(queue.char_name + ': Skill queue empty!', 'Your '+ 'skill queue is empty!') elif (queue.is_paused and self._has_changed(queue, "is_paused")): self.notify.send(queue.char_name + ': Skill queue paused!', 'Your '+ 'skill queue is paused!') elif (queue.free_time is not None and self._has_changed(queue, "free_time")): self.notify.send(queue.char_name + ': Skill queue has space', 'Your '+ 'skill queue has {} free space'.format(str(queue.free_time))) self.last_result = queue if reenter: from datetime import datetime logger.debug('time: '+str(datetime.now())) logger.debug('ts: '+str(Clock.timestamp_seconds(datetime.now()))) logger.debug('cache expires: '+str(queue.cache_expires)) next_pull_ts = Clock.timestamp_seconds(queue.cache_expires)+10 logger.debug('next pull ts: '+str(next_pull_ts)) sched.enterabs(next_pull_ts, 1, self.check, (sched,))
def setUp(self): self.api = Stub() self.api.get_skill_queue = Mock() self.notify = Stub() self.notify.send = Mock() self.checker = SkillQueueChecker(self.api, self.notify) self.sched = Stub() self.sched.enterabs = Mock() self.cache_expires_seconds = Clock.timestamp_seconds(datetime.now()) + (20*60) self.queue = Stub() self.queue.is_empty = False self.queue.is_paused = False self.queue.free_time = None self.queue.cache_expires = datetime.fromtimestamp(self.cache_expires_seconds) self.queue.char_name = 'le mittani' self.api.get_skill_queue.return_value = self.queue self.longMessage = True