def _create_paragraph(self) -> Optional[Paragraph]: cur_line = self._line_iter.cur_line if cur_line is None or cur_line.is_empty: return None lines = [] while cur_line is not None and not cur_line.is_empty: lines.append(cur_line.text) cur_line = self._line_iter.get_next_line() self._skip_empty_line() preformatted = self._are_lines_preformatted(lines) para_text = '\n'.join(lines) inline_parser = InlineParser(para_text, preformatted) inline_elements = inline_parser.parse() return Paragraph(inline_elements, preformatted=preformatted)
def _extend_page_with_task_cache(self, page: Page, task: Task) -> None: task_cache = task.cache if task_cache: if task_cache.readme: page.block_elements.append( Header(level=2, inline_elements=[NormalText('readme:')])) page.block_elements.append( Paragraph([NormalText(task_cache.readme)], preformatted=True)) if task_cache.file_names: page.block_elements.append( Header(level=2, inline_elements=[NormalText('files:')])) file_tree = FilebufSplitter(task_cache.file_names).split() new_list = List() task_path = task.get_path(self._task_model.tasks_root) for name in sorted(file_tree.keys()): new_link = Link(text=name, uri=str(task_path / name)) new_item = ListItem(inline_elements=[new_link]) self._build_file_list_recursive(new_item, file_tree[name], task_path / name) new_list.items.append(new_item) page.block_elements.append(new_list)
def test_link_without_text(self): self._test_one_element( Paragraph([Link(uri='www.wikipedia.de', text=None)]), '<p><a href="www.wikipedia.de">www.wikipedia.de</a></p>' )
def test_bold(self): self._test_one_element( Paragraph([NormalText('aaa'), BoldText('bbb'), NormalText('ccc')]), '<p>aaa<b>bbb</b>ccc</p>' )
def test_preformatted_paragraph(self): self._test_one_element( Paragraph([NormalText(' aaa\n bbb')], preformatted=True), '<pre> aaa\n bbb</pre>' )
def test_simple_paragraph(self): self._test_one_element( Paragraph([NormalText('aaa')]), '<p>aaa</p>' )
def _create_paragraph(self, xml_para: ET.Element) -> Paragraph: inline_elements = list(self._iter_inline_elements(xml_para)) preformatted = (xml_para.attrib.get('preformatted', 'false').lower() == 'true') return Paragraph(inline_elements, preformatted=preformatted)
def test_link_without_text(self): self._test_one_element( Paragraph([Link(uri="https://www.wikipedia.de", text=None)]), '<paragraph><link uri="https://www.wikipedia.de" /></paragraph>')
def test_link_with_text(self): self._test_one_element( Paragraph([Link(uri="https://www.wikipedia.de", text="Wikipedia")]), '<paragraph><link uri="https://www.wikipedia.de">Wikipedia</link></paragraph>' )
def test_preformatted_paragraph(self): self._test_one_element( Paragraph([NormalText('aaa')], preformatted=True), '<paragraph preformatted="true">aaa</paragraph>')
def test_paragraph(self): self._test_one_element(Paragraph([NormalText('aaa')]), '<paragraph>aaa</paragraph>')