def setUp(self): super(NoteCommandTestCase, self).setUp() self.note1 = note.Note() self.note2 = note.Note() self.list = self.noteContainer = note.NoteContainer( [self.note1, self.note2]) self.original = note.NoteContainer([self.note1, self.note2])
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 __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 testLocalNoteViewerForItemWithoutNotes(self): taskFile = persistence.TaskFile() taskFile.notes().append(note.Note()) viewer = gui.viewer.NoteViewer(self.frame, taskFile, config.Settings(load=False), notesToShow=note.NoteContainer()) self.failIf(viewer.presentation())
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.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 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): self.container = note.NoteContainer() self.note = note.Note()
def testCutNotes_All(self): self.cut('all') self.assertDoUndoRedo( lambda: self.assertNoteContainer(note.NoteContainer()), lambda: self.assertNoteContainer(self.original))
def testCutNotes_Selection(self): self.cut([self.note1]) self.assertDoUndoRedo( lambda: self.assertNoteContainer(note.NoteContainer([self.note2])), lambda: self.assertNoteContainer(self.original))
def setUp(self): self.notes = note.NoteContainer() self.taskList = task.TaskList()
def testLocalNoteViewerForItemWithoutNotes(self): localViewer = gui.viewer.NoteViewer(self.frame, self.taskFile, self.settings, notesToShow=note.NoteContainer()) self.failIf(localViewer.presentation())
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 write(self, tsk): # pylint: disable=W0221 super(TemplateXMLWriter, self).write(task.TaskList([tsk]), category.CategoryList(), note.NoteContainer(), None, None)