Пример #1
0
 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
Пример #2
0
 def __handle_title__(self, xmlnode, dstree, dsnode):
     # Assumes document node
     if DocumentStructure.getLevel(dsnode) != DocumentStructure.DOCUMENT:
         raise Exception, "Unexpected level" 
     
     DocumentStructure.setNode(dsnode, value=util.parseValueFrom(xmlnode))
     return dsnode
Пример #3
0
 def __handle_caption__(self, xmlnode, dstree, dsnode):
     dsnode = self.prepareNode(dstree, dsnode, DocumentStructure.PARAGRAPH)
     value = util.parseValueFrom(xmlnode)
     
     if DocumentStructure.getLevel(dsnode) == DocumentStructure.PARAGRAPH:
         value = util.ensureEndsInPeriod(value)
             
     self.abstractHandler.handleReplace(dstree, dsnode, value)
     return self.handleIndent(dsnode, xmlnode)
Пример #4
0
 def __handle_table__(self, xmlnode, dstree, dsnode):
     if 'summary' in xmlnode.attrib:
         value = xmlnode.attrib['summary']
         dsnode = self.prepareNode(dstree, dsnode, DocumentStructure.PARAGRAPH)
         
         if DocumentStructure.getLevel(dsnode) == DocumentStructure.PARAGRAPH:
             value = util.ensureEndsInPeriod(value)
         
         util.appendToValue(dsnode, ' ' + value + ' ')
     
     return self.handleIndent(dsnode, xmlnode)
Пример #5
0
 def __handle_img__(self, xmlnode, dstree, dsnode):
     value = ''
     
     if 'alt' in xmlnode.attrib:
         value = xmlnode.attrib['alt']
     elif 'title' in xmlnode.attrib:
         value = xmlnode.attrib['title']
     
     dsnode = self.prepareNode(dstree, dsnode, DocumentStructure.PARAGRAPH)
     
     if DocumentStructure.getLevel(dsnode) == DocumentStructure.PARAGRAPH:
         value = util.ensureEndsInPeriod(value)
     
     util.appendToValue(dsnode, ' ' + value + ' ')
     return self.handleIndent(dsnode, xmlnode)
Пример #6
0
def getLevel(dsnode):
    return DocumentStructure.getLevel(dsnode)