def prepareNode(self, dstree, dsnode, level, indent = None): curLevel = util.levelToInt(DocumentStructure.getLevel(dsnode)) levelAbove = util.levelToInt(util.levelAbove(level)) levelDesired = util.levelToInt(level) if curLevel >= levelAbove: while curLevel > levelAbove: newLevel = util.levelBelow(DocumentStructure.getLevel(dsnode)) dsnode = dstree.addNode(dsnode, level = newLevel, indent = indent) curLevel = util.levelToInt(DocumentStructure.getLevel(dsnode)) if level == DocumentStructure.PARAGRAPH: self.preInsertedParagraph = True dsnode = dstree.addNode(dsnode, level = DocumentStructure.PARAGRAPH, indent = indent) else: self.preInsertedParagraph = False elif curLevel < levelAbove: while curLevel < levelDesired: dsnode = dsnode.getparent() curLevel = util.levelToInt(DocumentStructure.getLevel(dsnode)) if level != DocumentStructure.PARAGRAPH: dsnode = dsnode.getparent() DocumentStructure.setIndent(dsnode, indent) return dsnode
def handleIndent(self, dsnode, xmlnode): indent = DocumentStructure.getIndent(xmlnode) DocumentStructure.setIndent(dsnode, indent) return dsnode