コード例 #1
0
 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])
コード例 #2
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())
コード例 #3
0
 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))
コード例 #4
0
 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)
コード例 #5
0
ファイル: application.py プロジェクト: casics/extractor
    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
コード例 #6
0
ファイル: test.py プロジェクト: casics/extractor
 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()
コード例 #7
0
 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)
コード例 #8
0
 def startClock(self):
     date.Scheduler().schedule_interval(self.onEveryMinute, minutes=1)
コード例 #9
0
 def stopClock(self):
     date.Scheduler().unschedule(self.onEverySecond)
コード例 #10
0
 def startClock(self):
     date.Scheduler().schedule_interval(self.onEverySecond, seconds=1)
コード例 #11
0
 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())
コード例 #12
0
 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]
コード例 #13
0
 def stopClock(self):
     date.Scheduler().unschedule(self.onEveryMinute)
コード例 #14
0
 def testStopTrackingRemovesViewerFromClockObservers(self):
     self.trackedTask.stopTracking()
     self.failIf(date.Scheduler().is_scheduled(
         self.updateViewer.secondRefresher.onEverySecond))
コード例 #15
0
 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())
コード例 #16
0
 def testAddTaskWithReminderSchedulesJob(self):
     taskWithReminder = task.Task('Task with reminder',
                                  reminder=self.reminderDateTime)
     self.taskList.append(taskWithReminder)
     self.failUnless(date.Scheduler().get_jobs())
コード例 #17
0
 def testSetTaskReminderSchedulesJob(self):
     self.task.setReminder(self.reminderDateTime)
     self.failUnless(date.Scheduler().get_jobs())
コード例 #18
0
 def setUp(self):
     super(SchedulerTest, self).setUp()
     self.scheduler = date.Scheduler()
コード例 #19
0
 def __removeReminder(self, taskWithReminder):
     job = self.__tasksWithReminders[taskWithReminder]
     date.Scheduler().unschedule(job)
     del self.__tasksWithReminders[taskWithReminder]