def testChangeReminderRemovesOldReminder(self): self.task.setReminder(self.reminderDateTime) job = date.Scheduler().get_jobs()[0] self.task.setReminder(self.reminderDateTime + date.ONE_HOUR) jobs = date.Scheduler().get_jobs() self.assertEqual(len(jobs), 1) self.failIf(job is jobs[0])
def testAfterReminderJobIsRemovedFromScheduler(self): self.task.setReminder(date.Now() + date.TimeDelta(seconds=1)) self.failUnless(date.Scheduler().get_jobs()) t0 = time.time() from twisted.internet import reactor while time.time() - t0 < 1.1: reactor.iterate() self.failIf(date.Scheduler().get_jobs())
def testRemoveTrackedChildAndParentRemovesViewerFromClockObservers(self): parent = task.Task() self.taskList.append(parent) parent.addChild(self.trackedTask) self.taskList.remove(parent) self.failIf(date.Scheduler().is_scheduled( self.updateViewer.secondRefresher.onEverySecond))
def __registerReminder(self, taskWithReminder): reminderDateTime = taskWithReminder.reminder() now = date.DateTime.now() if reminderDateTime < now: reminderDateTime = now + date.TimeDelta(seconds=10) self.__tasksWithReminders[taskWithReminder] = date.Scheduler( ).schedule(self.onReminder, reminderDateTime)
def quitApplication(self, force=False): if not self.iocontroller.close(force=force): return False # Remember what the user was working on: self.settings.set('file', 'lastfile', self.taskFile.lastFilename()) self.mainwindow.save_settings() self.settings.save() if hasattr(self, 'taskBarIcon'): self.taskBarIcon.RemoveIcon() if self.mainwindow.bonjourRegister is not None: self.mainwindow.bonjourRegister.stop() from taskcoachlib.domain import date date.Scheduler().shutdown() self.__wx_app.ProcessIdle() # For PowerStateMixin self.mainwindow.OnQuit() if operating_system.isGTK() and self.sessionMonitor is not None: self.sessionMonitor.stop() if isinstance(sys.stdout, RedirectedOutput): sys.stdout.summary() self.__wx_app.ExitMainLoop() return True
def tearDown(self): # pylint: disable=W0404 # Prevent processing of pending events after the test has finished: wx.GetApp().Disconnect(wx.ID_ANY) from taskcoachlib import patterns patterns.Publisher().clear() patterns.CommandHistory().clear() patterns.NumberedInstances.count = dict() from taskcoachlib.domain import date date.Scheduler().shutdown(False, False) date.Scheduler.deleteInstance() if hasattr(self, 'events'): del self.events from taskcoachlib.thirdparty.pubsub import pub pub.unsubAll() super(TestCase, self).tearDown()
def registerObservers(self): registerObserver = patterns.Publisher().registerObserver for eventType in ( task.Task.plannedStartDateTimeChangedEventType(), task.Task.dueDateTimeChangedEventType(), task.Task.actualStartDateTimeChangedEventType(), task.Task.completionDateTimeChangedEventType(), task.Task.prerequisitesChangedEventType(), task.Task.appearanceChangedEventType( ), # Proxy for status changes task.Task.addChildEventType(), task.Task.removeChildEventType()): if eventType.startswith('pubsub'): pub.subscribe(self.onTaskStatusChange, eventType) else: registerObserver(self.onTaskStatusChange_Deprecated, eventType=eventType) date.Scheduler().schedule_interval(self.atMidnight, days=1)
def startClock(self): date.Scheduler().schedule_interval(self.onEveryMinute, minutes=1)
def stopClock(self): date.Scheduler().unschedule(self.onEverySecond)
def startClock(self): date.Scheduler().schedule_interval(self.onEverySecond, seconds=1)
def testMarkTaskCompletedRemovesReminder(self): self.task.setReminder(self.reminderDateTime) self.failUnless(date.Scheduler().get_jobs()) self.task.setCompletionDateTime(date.Now()) self.failIf(date.Scheduler().get_jobs())
def __removeReminder(self, taskWithReminder): scheduler = date.Scheduler() job = self.__tasksWithReminders[taskWithReminder] if job in scheduler.get_jobs(): scheduler.unschedule_job(job) del self.__tasksWithReminders[taskWithReminder]
def stopClock(self): date.Scheduler().unschedule(self.onEveryMinute)
def testStopTrackingRemovesViewerFromClockObservers(self): self.trackedTask.stopTracking() self.failIf(date.Scheduler().is_scheduled( self.updateViewer.secondRefresher.onEverySecond))
def testRemoveTaskWithReminderRemovesClockEventFromPublisher(self): self.task.setReminder(self.reminderDateTime) job = date.Scheduler().get_jobs()[0] self.taskList.remove(self.task) self.failIf(job in date.Scheduler().get_jobs())
def testAddTaskWithReminderSchedulesJob(self): taskWithReminder = task.Task('Task with reminder', reminder=self.reminderDateTime) self.taskList.append(taskWithReminder) self.failUnless(date.Scheduler().get_jobs())
def testSetTaskReminderSchedulesJob(self): self.task.setReminder(self.reminderDateTime) self.failUnless(date.Scheduler().get_jobs())
def setUp(self): super(SchedulerTest, self).setUp() self.scheduler = date.Scheduler()
def __removeReminder(self, taskWithReminder): job = self.__tasksWithReminders[taskWithReminder] date.Scheduler().unschedule(job) del self.__tasksWithReminders[taskWithReminder]