Ejemplo n.º 1
0
 def process_into(self, node, obj):
     """
     Process a BeautifulSoup node and fill its elements into a pyth
     base object.
     """
     if isinstance(node, BeautifulSoup.NavigableString):
         text = self.process_text(node)
         if text:
             obj.append(text)
         return
     if node.name == 'p':
         # add a new paragraph into the pyth object
         new_obj = document.Paragraph()
         obj.append(new_obj)
         obj = new_obj
     elif node.name == 'ul':
         # add a new list
         new_obj = document.List()
         obj.append(new_obj)
         obj = new_obj
     elif node.name == 'li':
         # add a new list entry
         new_obj = document.ListEntry()
         obj.append(new_obj)
         obj = new_obj
     for child in node:
         self.process_into(child, obj)
Ejemplo n.º 2
0
    def flushRun(self):
        if self.block is None:
            self.block = document.Paragraph()

        self.block.content.append(
            document.Text(self.propStack[-1].copy(), [u"".join(self.run)]))

        self.run[:] = []
Ejemplo n.º 3
0
    def flushRun(self):
        if self.block is None:
            self.block = document.Paragraph()

        if self.isImage:
            self.block.content.append(
                document.Image(self.propStack[-1].copy(),
                               [str("".join(self.run))]))
            self.isImage = False
        else:
            self.block.content.append(
                document.Text(self.propStack[-1].copy(), [u"".join(self.run)]))

        self.run[:] = []