Ejemplo n.º 1
0
    def __init__(self, *args, **kwargs):
        self.__filename = self.__lastFilename = ''
        self.__needSave = self.__loading = False
        self.__tasks = task.TaskList()
        self.__categories = category.CategoryList()
        self.__notes = note.NoteContainer()
        self.__efforts = effort.EffortList(self.tasks())
        self.__guid = generate()
        self.__syncMLConfig = createDefaultSyncConfig(self.__guid)
        super(TaskFile, self).__init__(*args, **kwargs)
        # Register for tasks, categories, efforts and notes being changed so we
        # can monitor when the task file needs saving (i.e. is 'dirty'):
        for container in self.tasks(), self.categories(), self.notes():
            for eventType in container.modificationEventTypes():
                self.registerObserver(self.onDomainObjectAddedOrRemoved,
                                      eventType,
                                      eventSource=container)

        for eventType in (base.Object.markDeletedEventType(),
                          base.Object.markNotDeletedEventType()):
            self.registerObserver(self.onDomainObjectAddedOrRemoved, eventType)

        for eventType in task.Task.modificationEventTypes():
            self.registerObserver(self.onTaskChanged, eventType)
        for eventType in effort.Effort.modificationEventTypes():
            self.registerObserver(self.onEffortChanged, eventType)
        for eventType in note.Note.modificationEventTypes():
            self.registerObserver(self.onNoteChanged, eventType)
        for eventType in category.Category.modificationEventTypes():
            self.registerObserver(self.onCategoryChanged, eventType)
        for eventType in attachment.FileAttachment.modificationEventTypes() + \
                         attachment.URIAttachment.modificationEventTypes() + \
                         attachment.MailAttachment.modificationEventTypes():
            self.registerObserver(self.onAttachmentChanged, eventType)
Ejemplo n.º 2
0
 def setUp(self):
     task.Task.settings = settings = config.Settings(load=False)
     self.taskList = task.TaskList()
     self.effortList = effort.EffortList(self.taskList)
     self.dummyWindow = DummyWindow()
     self.reminderController = ReminderControllerUnderTest(
         self.dummyWindow, self.taskList, self.effortList, settings)
     self.nowDateTime = date.DateTime.now()
     self.reminderDateTime = self.nowDateTime + date.ONE_HOUR
Ejemplo n.º 3
0
 def setUp(self):
     super(CommandWithEffortTestCase, self).setUp()
     self.list = self.effortList = effort.EffortList(self.taskList)
     self.effort1 = effort.Effort(self.task1)
     self.task1.addEffort(self.effort1)
     self.effort2 = effort.Effort(self.task2, 
         date.DateTime(2004, 1, 1), date.DateTime(2004, 1, 2))
     self.task2.addEffort(self.effort2)
     self.taskList.append(self.task2)
     self.originalEffortList = [self.effort1, self.effort2]
Ejemplo n.º 4
0
 def setUp(self):
     self.taskList = task.TaskList()
     self.effortList = effort.EffortList(self.taskList)
     self.originalTask = task.Task()
     self.taskList.append(self.originalTask)
     self.originalStop = date.DateTime.now()
     self.originalStart = self.originalStop - date.TimeDelta(hours=1)
     self.effort = effort.Effort(self.originalTask, self.originalStart,
                                 self.originalStop)
     self.originalTask.addEffort(self.effort)
Ejemplo n.º 5
0
 def setUp(self):
     task.Task.settings = config.Settings(load=False)
     self.taskList = task.TaskList()
     self.effortList = effort.EffortList(self.taskList)
     self.originalTask = task.Task()
     self.taskList.append(self.originalTask)
     self.originalStop = date.DateTime.now()
     self.originalStart = self.originalStop - date.ONE_HOUR
     self.effort = effort.Effort(self.originalTask, self.originalStart,
                                 self.originalStop)
     self.originalTask.addEffort(self.effort)
Ejemplo n.º 6
0
 def setUp(self):
     task.Task.settings = config.Settings(load=False)
     self.taskList = task.TaskList()
     self.effortList = effort.EffortList(self.taskList)
     self.sorter = effort.EffortSorter(self.effortList)
     self.task = task.Task('Task')
     self.oldestEffort = effort.Effort(self.task, date.DateTime(2004, 1, 1),
                                       date.DateTime(2004, 1, 2))
     self.newestEffort = effort.Effort(self.task, date.DateTime(2004, 2, 1),
                                       date.DateTime(2004, 2, 2))
     self.task.addEffort(self.oldestEffort)
     self.task.addEffort(self.newestEffort)
     self.taskList.append(self.task)
Ejemplo n.º 7
0
 def createAggregator(self, taskList, aggregation):
     ''' Return an instance of a class that aggregates the effort records 
         in the taskList, either:
         - individually (aggregation == 'details'), 
         - per day (aggregation == 'day'), 
         - per week ('week'), or 
         - per month ('month'). '''
     if aggregation == 'details':
         aggregator = effort.EffortList(taskList)
     else:
         aggregator = effort.EffortAggregator(taskList,
                                              aggregation=aggregation)
     return aggregator
Ejemplo n.º 8
0
 def setUp(self):
     super(EffortStopTest, self).setUp()
     task.Task.settings = config.Settings(load=False)
     self.taskList = task.TaskList()
     self.task = task.Task('Task')
     self.task2 = task.Task('Task 2')
     self.effort1 = effort.Effort(self.task)
     self.effort2 = effort.Effort(self.task)
     self.taskList.append(self.task)
     self.effortList = effort.EffortList(self.taskList)
     self.viewer = DummyViewer()
     self.effortStop = gui.uicommand.EffortStop(viewer=self.viewer,
                                                effortList=self.effortList,
                                                taskList=self.taskList)
Ejemplo n.º 9
0
 def setUp(self):
     self.events = []
     task.Task.settings = config.Settings(load=False)
     self.task = task.Task()
     self.taskList = task.TaskList()
     self.effortList = effort.EffortList(self.taskList)
     self.taskList.append(self.task)
     patterns.Publisher().registerObserver(
         self.onEvent,
         eventType=self.effortList.addItemEventType(),
         eventSource=self.effortList)
     patterns.Publisher().registerObserver(
         self.onEvent,
         eventType=self.effortList.removeItemEventType(),
         eventSource=self.effortList)
     self.effort = effort.Effort(self.task, date.DateTime(2004, 1, 1),
                                 date.DateTime(2004, 1, 2))
 def setUp(self):
     self.taskList = task.TaskList()
     self.effortList = effort.EffortList(self.taskList)
     self.task = task.Task(subject='task')
     self.taskList.append(self.task)
     self.effort1 = effort.Effort(self.task,
                                  date.DateTime(2004, 1, 1, 11, 0, 0),
                                  date.DateTime(2004, 1, 1, 12, 0, 0))
     self.effort2 = effort.Effort(self.task,
                                  date.DateTime(2004, 1, 1, 13, 0, 0),
                                  date.DateTime(2004, 1, 1, 14, 0, 0))
     self.effort3 = effort.Effort(self.task,
                                  date.DateTime(2004, 1, 11, 13, 0, 0),
                                  date.DateTime(2004, 1, 11, 14, 0, 0))
     self.trackedEffort = effort.Effort(self.task,
                                        date.DateTime(2004, 1, 1, 9, 0, 0))
     self.composite = effort.CompositeEffortPerPeriod(\
         date.DateTime(2004,1,1,0,0,0), date.DateTime(2004,1,1,23,59,59),
         self.taskList)
Ejemplo n.º 11
0
 def setUp(self):
     task.Task.settings = config.Settings(load=False)
     self.taskList = task.TaskList()
     self.effortList = effort.EffortList(self.taskList)
     self.task = task.Task(subject='task')
     self.taskList.append(self.task)
     self.effort1 = effort.Effort(self.task, 
         date.DateTime(2004, 1, 1, 11, 0, 0), 
         date.DateTime(2004, 1, 1, 12, 0, 0))
     self.effort2 = effort.Effort(self.task, 
         date.DateTime(2004, 1, 1, 13, 0, 0), 
         date.DateTime(2004, 1, 1, 14, 0, 0))
     self.effort3 = effort.Effort(self.task, 
         date.DateTime(2004, 1, 11, 13, 0, 0), 
         date.DateTime(2004, 1, 11, 14, 0, 0))
     self.trackedEffort = effort.Effort(self.task, 
         date.DateTime(2004, 1, 1, 9, 0, 0))
     self.composite = effort.CompositeEffortPerPeriod(\
         date.DateTime(2004, 1, 1, 0, 0, 0), 
         date.DateTime(2004, 1, 1, 23, 59, 59), self.taskList)
     self.reducer = EffortCompositeTest.FakeEffortAggregator(self.composite)
Ejemplo n.º 12
0
 def testCreateWhenTaskListIsFilled(self):
     self.task.addEffort(self.effort)
     effortList = effort.EffortList(task.TaskList([self.task]))
     self.assertEqual(1, len(effortList))
Ejemplo n.º 13
0
 def setUp(self):
     self.settings = config.Settings(load=False)
     task.Task.settings = self.settings
     self.aTask = task.Task('subject')
     self.taskList = task.TaskList([self.aTask])
     self.effortList = effort.EffortList(self.taskList)
Ejemplo n.º 14
0
    def __init__(self, *args, **kwargs):
        self.__filename = self.__lastFilename = ''
        self.__needSave = self.__loading = False
        self.__tasks = task.TaskList()
        self.__categories = category.CategoryList()
        self.__notes = note.NoteContainer()
        self.__efforts = effort.EffortList(self.tasks())
        self.__guid = generate()
        self.__syncMLConfig = createDefaultSyncConfig(self.__guid)
        self.__monitor = ChangeMonitor()
        self.__changes = dict()
        self.__changes[self.__monitor.guid()] = self.__monitor
        self.__changedOnDisk = False
        if kwargs.pop('poll', True):
            self.__notifier = TaskCoachFilesystemPollerNotifier(self)
        else:
            self.__notifier = TaskCoachFilesystemNotifier(self)
        self.__saving = False
        for collection in [self.__tasks, self.__categories, self.__notes]:
            self.__monitor.monitorCollection(collection)
        for domainClass in [
                task.Task, category.Category, note.Note, effort.Effort,
                attachment.FileAttachment, attachment.URIAttachment,
                attachment.MailAttachment
        ]:
            self.__monitor.monitorClass(domainClass)
        super(TaskFile, self).__init__(*args, **kwargs)
        # Register for tasks, categories, efforts and notes being changed so we
        # can monitor when the task file needs saving (i.e. is 'dirty'):
        for container in self.tasks(), self.categories(), self.notes():
            for eventType in container.modificationEventTypes():
                self.registerObserver(self.onDomainObjectAddedOrRemoved,
                                      eventType,
                                      eventSource=container)

        for eventType in (base.Object.markDeletedEventType(),
                          base.Object.markNotDeletedEventType()):
            self.registerObserver(self.onDomainObjectAddedOrRemoved, eventType)

        for eventType in task.Task.modificationEventTypes():
            if not eventType.startswith('pubsub'):
                self.registerObserver(self.onTaskChanged_Deprecated, eventType)
        pub.subscribe(self.onTaskChanged, 'pubsub.task')
        for eventType in effort.Effort.modificationEventTypes():
            self.registerObserver(self.onEffortChanged, eventType)
        for eventType in note.Note.modificationEventTypes():
            if not eventType.startswith('pubsub'):
                self.registerObserver(self.onNoteChanged_Deprecated, eventType)
        pub.subscribe(self.onNoteChanged, 'pubsub.note')
        for eventType in category.Category.modificationEventTypes():
            if not eventType.startswith('pubsub'):
                self.registerObserver(self.onCategoryChanged_Deprecated,
                                      eventType)
        pub.subscribe(self.onCategoryChanged, 'pubsub.category')
        for eventType in attachment.FileAttachment.modificationEventTypes() + \
                         attachment.URIAttachment.modificationEventTypes() + \
                         attachment.MailAttachment.modificationEventTypes():
            if not eventType.startswith('pubsub'):
                self.registerObserver(self.onAttachmentChanged_Deprecated,
                                      eventType)
        pub.subscribe(self.onAttachmentChanged, 'pubsub.attachment')