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)
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[:] = []
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[:] = []