def read(self): # Determine where are attachments. path, name = os.path.split(os.path.abspath(self.__fd.name)) name, ext = os.path.splitext(name) attdir = os.path.normpath(os.path.join(path, name + '_attachments')) attachment.MailAttachment.attdir = attdir domDocument = xml.dom.minidom.parse(self.__fd) self.__tskversion = self.__parseTskVersionNumber(domDocument) tasks = self.__parseTaskNodes(domDocument.documentElement.childNodes) categorizables = tasks[:] for task in tasks: categorizables.extend(task.children(recursive=True)) if self.__tskversion <= 15: notes = [] else: notes = self.__parseNoteNodes(domDocument.documentElement.childNodes) categorizables.extend(notes) for note in notes: categorizables.extend(note.children(recursive=True)) categorizablesById = dict([(categorizable.id(), categorizable) for \ categorizable in categorizables]) if self.__tskversion <= 13: categories = self.__parseCategoryNodesFromTaskNodes(domDocument, categorizablesById) else: categories = self.__parseCategoryNodes( \ domDocument.documentElement.childNodes, categorizablesById) return tasks, categories, notes
def read(self): domDocument = xml.dom.minidom.parse(self.__fd) self.__tskversion = self.__parseTskVersionNumber(domDocument) tasks = self.__parseTaskNodes(domDocument.documentElement.childNodes) categorizables = tasks[:] for task in tasks: categorizables.extend(task.children(recursive=True)) if self.__tskversion <= 15: notes = [] else: notes = self.__parseNoteNodes(domDocument.documentElement.childNodes) categorizables.extend(notes) for note in notes: categorizables.extend(note.children(recursive=True)) categorizablesById = dict([(categorizable.id(), categorizable) for \ categorizable in categorizables]) if self.__tskversion <= 13: categories = self.__parseCategoryNodesFromTaskNodes(domDocument, categorizablesById) else: categories = self.__parseCategoryNodes( \ domDocument.documentElement.childNodes, categorizablesById) guid = self.__findGUIDNode(domDocument.documentElement.childNodes) syncMLConfig = self.__parseSyncMLNode(domDocument.documentElement.childNodes, guid) return tasks, categories, notes, syncMLConfig, guid