def setUp(self): self.settings = task.Task.settings = config.Settings(load=False) self.categories = category.CategoryList(self.createCategories()) self.tasks = task.TaskList(self.createTasks()) self.categorize() self.filter = category.filter.CategoryFilter( self.tasks, categories=self.categories, treeMode=self.treeMode)
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)
def testViewerDoesNotReactToRemoveEventsFromOtherContainers(self): categories = base.filter.SearchFilter(category.CategoryList()) categories.append(category.Category('Test')) try: categories.clear() except AttributeError: # pragma: no cover self.fail("Removing a category shouldn't affect the UpdatePerSecondViewer.")
def setUp(self): self.categories = category.CategoryList() self.category1 = category.Category('Category 1') self.category2 = category.Category('Category 2') self.viewerContainer = MockViewerContainer() self.menu = gui.menu.ToggleCategoryMenu(self.frame, self.categories, self.viewerContainer)
def createTestFile(self): taskList = task.TaskList([task.Task('test') for _ in range(self.nrTasks)]) taskfile = file(self.taskfilename, 'w') taskWriter = persistence.XMLWriter(taskfile) taskWriter.write(taskList, category.CategoryList(), note.NoteContainer(), createDefaultSyncConfig('fake'), 'fake') taskfile.close()
def setUp(self): task.Task.settings = config.Settings(load=False) self.fd = StringIO.StringIO() self.fd.name = 'testfile.tsk' self.reader = persistence.XMLReader(self.fd) self.writer = persistence.XMLWriter(self.fd) self.taskList = task.TaskList() self.categories = category.CategoryList() self.notes = note.NoteContainer() self.syncMLConfig = SyncMLConfigNode('root') self.guid = u'GUID' self.fillContainers() tasks, categories, notes, syncMLConfig, guid = self.readAndWrite() self.tasksWrittenAndRead = task.TaskList(tasks) self.categoriesWrittenAndRead = category.CategoryList(categories) self.notesWrittenAndRead = note.NoteContainer(notes) self.syncMLConfigWrittenAndRead = syncMLConfig self.guidWrittenAndRead = guid
def setUp(self): task.Task.settings = config.Settings(load=False) self.taskList = task.TaskList() self.categoryList = category.CategoryList() self.reader = persistence.CSVReader(self.taskList, self.categoryList) self.defaultReaderKwArgs = dict(encoding='utf-8', dialect='excel', hasHeaders=False, importSelectedRowsOnly=False, dayfirst=True)
def setUp(self): task.Task.settings = config.Settings(load=False) self.fd = StringIO.StringIO() self.fd.name = 'testfile.tsk' self.writer = persistence.XMLWriter(self.fd) self.task = task.Task() self.taskList = task.TaskList([self.task]) self.category = category.Category('Category') self.categoryContainer = category.CategoryList([self.category]) self.note = note.Note() self.noteContainer = note.NoteContainer([self.note])
def setUp(self): super(TaskCommandTestCase, self).setUp() task.Task.settings = config.Settings(load=False) self.list = self.taskList = task.TaskList() self.categories = category.CategoryList() self.category = category.Category('cat') self.categories.append(self.category) self.task1 = task.Task('task1', startDateTime=date.Now()) self.task2 = task.Task('task2', startDateTime=date.Now()) self.taskList.append(self.task1) self.originalList = [self.task1]
def setUp(self): task.Task.settings = config.Settings(load=False) self.parent = task.Task('parent') self.parentCategory = category.Category('parent') self.parentCategory.addCategorizable(self.parent) self.child = task.Task() self.childCategory = category.Category('child') self.childCategory.addCategorizable(self.child) self.parent.addChild(self.child) self.unusedCategory = category.Category('unused') self.list = task.TaskList([self.parent, self.child]) self.categories = category.CategoryList( [self.parentCategory, self.childCategory, self.unusedCategory]) self.filter = category.filter.CategoryFilter( self.list, categories=self.categories, treeMode=self.treeMode)
def mergeDiskChanges(self): self.__loading = True try: if os.path.exists( self.__filename ): # Not using self.exists() because DummyFile.exists returns True # Instead of writing the content of memory, merge changes # with the on-disk version and save the result. self.__monitor.freeze() try: fd = self._openForRead() tasks, categories, globalcategories, notes, syncMLConfig, allChanges, guid = self._read( fd) fd.close() self.__changes = allChanges if self.__saving: for devGUID, changes in self.__changes.items(): if devGUID != self.__monitor.guid(): changes.merge(self.__monitor) sync = ChangeSynchronizer(self.__monitor, allChanges) sync.sync([(self.categories(), category.CategoryList(categories)), (self.tasks(), task.TaskList(tasks)), (self.notes(), note.NoteContainer(notes))]) self.__changes[self.__monitor.guid()] = self.__monitor finally: self.__monitor.thaw() else: self.__changes = {self.__monitor.guid(): self.__monitor} self.__monitor.resetAllChanges() name, fd = self._openForWrite() xml.ChangesXMLWriter(fd).write(self.changes()) fd.close() if os.path.exists(self.__filename + '.delta'): os.remove(self.__filename + '.delta') if name is not None: # Unit tests (AutoSaver) os.rename(name, self.__filename + '.delta') self.__changedOnDisk = False finally: self.__loading = False
def setUp(self): task.Task.settings = config.Settings(load=False) self.parent = task.Task('parent task') self.parent.setShouldMarkCompletedWhenAllChildrenCompleted(False) self.child = task.Task('child task') self.child.setCompletionDateTime() self.childCategory = category.Category('child category') self.childCategory.addCategorizable(self.child) self.parent.addChild(self.child) self.tasks = task.TaskList([self.parent, self.child]) self.categories = category.CategoryList([self.childCategory]) self.viewFilter = task.filter.ViewFilter(self.tasks, treeMode=self.treeMode) self.categoryFilter = category.filter.CategoryFilter( self.viewFilter, categories=self.categories, treeMode=self.treeMode)
def setUp(self): task.Task.settings = config.Settings(load=False) self.categories = category.CategoryList() self.category = category.Category('Unfiltered category') self.filteredCategory = category.Category('Filtered category', filtered=True)
def setUp(self): task.Task.settings = config.Settings(load=False) self.categories = category.CategoryList()
def setUp(self): self.categories = category.CategoryList()
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')
def setUp(self): self.categories = category.CategoryList() self.category = category.Category('category 1')
def setUp(self): self.list = task.TaskList() self.settings = config.Settings(load=False) self.categories = category.CategoryList() self.filter = category.filter.CategoryFilter( self.list, categories=self.categories)
def write(self, tsk): # pylint: disable=W0221 super(TemplateXMLWriter, self).write(task.TaskList([tsk]), category.CategoryList(), note.NoteContainer(), None, None)
def setUp(self): task.Task.settings = config.Settings(load=False) self.tasks = task.TaskList() self.categories = category.CategoryList() self.reader = persistence.TodoTxtReader(self.tasks, self.categories)