Пример #1
0
def bullets_of_multiple_depth_are_converted_to_nested_lists():
    document = openxml.document([
        _paragraph_of_text("Food", style="Bullet1"),
        _paragraph_of_text("Apples", style="Bullet2"),
        _paragraph_of_text("Bananas", style="Bullet2"),
        _paragraph_of_text("Drinks", style="Bullet1"),
    ])
    expected_html = html.fragment([
        html.element("ul", [
            html.element("li", [
                html.text("Food"),
                html.element("ul", [
                    html.element("li", [html.text("Apples")]),
                    html.element("li", [html.text("Bananas")])
                ])
            ]),
            html.element("li", [html.text("Drinks")])
        ])
    ])
    
    generator = HtmlGenerator(paragraph_styles=[
        styles.map_word_style("Bullet1").to(styles.unordered_list(depth=1)),
        styles.map_word_style("Bullet2").to(styles.unordered_list(depth=2))
    ])
    assert_equal(expected_html, generator.html_for_document(document))
Пример #2
0
def convert_to_html(docx_file):
    document_string = docx_file.read("word/document.xml")
    tree = wordbridge.xmlparsing.parse_string(document_string)
    document = wordbridge.openxml.read_document(tree)

    generator = HtmlGenerator(paragraph_styles=_create_paragraph_styles())
    return generator.html_for_document(document).to_html_string()
Пример #3
0
def html_for_paragraph_uses_p_tag_if_there_is_no_style():
    paragraph = _paragraph_of_text("Hello")
    expected_html = html.fragment([
        html.element("p", [html.text("Hello")])
    ])
    
    generator = HtmlGenerator()
    assert_equal(expected_html, generator.html_for_paragraph(paragraph))
Пример #4
0
def style_mapping_is_used_to_generate_html_for_paragraph_with_style():
    paragraph = _paragraph_of_text("Hello", style="Heading1")
    expected_html = html.fragment([
        html.element("h1", [html.text("Hello")])
    ])
    
    generator = HtmlGenerator(paragraph_styles=[
        styles.map_word_style("Heading1").to(styles.top_level_element("h1"))
    ])
    assert_equal(expected_html, generator.html_for_paragraph(paragraph))
Пример #5
0
def generating_html_for_document_concats_html_for_paragraphs():
    document = openxml.document([
        _paragraph_of_text("Hello"),
        _paragraph_of_text("there")
    ])
    expected_html = html.fragment([
        html.element("p", [html.text("Hello")]),
        html.element("p", [html.text("there")])
    ])
    
    generator = HtmlGenerator()
    assert_equal(expected_html, generator.html_for_document(document))
Пример #6
0
def consecutive_word_bullet_paragraphs_are_converted_to_single_html_list():
    document = openxml.document([
        _paragraph_of_text("Apples", style="Bullet1"),
        _paragraph_of_text("Bananas", style="Bullet1")
    ])
    expected_html = html.fragment([
        html.element("ul", [
            html.element("li", [html.text("Apples")]),
            html.element("li", [html.text("Bananas")])
        ])
    ])
    
    generator = HtmlGenerator(paragraph_styles=[
        styles.map_word_style("Bullet1").to(styles.unordered_list())
    ])
    assert_equal(expected_html, generator.html_for_document(document))