From 84ec720bad61ae4899653e5b6b09a0cdfcca3d7d Mon Sep 17 00:00:00 2001 From: Albert Weichselbraun Date: Wed, 30 Jun 2021 11:32:11 +0200 Subject: [PATCH] Feature/inscriptis 2.0 (#35) * chg: improved HTML parsing of tables, enumerations and margins; fixed borderline cases * chg: improved whitespace handling * add: support for annotation rules and annotation output * add: annotation post-processors (html, xml, surface form) * chg: apply `--encoding` to Web URLs as well * chg: improved documentation * chg: unify docstrings. * add: type hints * chg: inscript now honors user-provided encodings for Web URLs. * chg: require Python 3.6+ --- .coveragerc | 2 + .github/workflows/python-package.yml | 2 +- .gitignore | 7 + README.rst | 263 +++++++++++--- benchmarking/a | 113 ++++++ benchmarking/b | 3 + benchmarking/run_benchmarking.py | 131 ++++--- benchmarking/speed_comparisons.txt | 113 ++++++ benchmarking/url_list.txt | 2 + docs/benchmarking.rst | 25 +- docs/conf.py | 10 +- docs/inscriptis-module-documentation.rst | 36 +- docs/paper/Makefile | 6 + docs/paper/images/annotations.png | Bin 0 -> 86717 bytes docs/paper/images/inscriptis-vs-lynx.png | Bin 0 -> 107860 bytes docs/paper/images/inscriptis-vs-lynx.xcf | Bin 0 -> 333652 bytes docs/paper/images/raw/inscriptis.png | Bin 0 -> 89794 bytes docs/paper/images/raw/lynx.png | Bin 0 -> 130252 bytes docs/paper/paper.bib | 284 +++++++++++++++ docs/paper/paper.md | 72 ++++ docs/paper/paper.pdf | Bin 0 -> 298606 bytes examples/annotation-profile.json | 14 + examples/table-annotation-profile.json | 7 + examples/unittest.json | 7 + examples/wikipedia.json | 12 + scripts/inscript.py | 91 +++-- scripts/web-service.py | 29 +- setup.py | 21 +- src/inscriptis/__init__.py | 132 +++++-- src/inscriptis/annotation/__init__.py | 60 ++++ src/inscriptis/annotation/output/__init__.py | 45 +++ src/inscriptis/annotation/output/html.py | 103 ++++++ src/inscriptis/annotation/output/surface.py | 27 ++ src/inscriptis/annotation/output/xml.py | 44 +++ src/inscriptis/annotation/parser.py | 101 ++++++ src/inscriptis/css_profiles.py | 86 ++--- src/inscriptis/html_engine.py | 308 ++++++----------- src/inscriptis/html_properties.py | 51 ++- src/inscriptis/metadata.py | 7 + src/inscriptis/model/__init__.py | 3 +- src/inscriptis/model/attribute.py | 67 +++- src/inscriptis/model/canvas.py | 72 ---- src/inscriptis/model/canvas/__init__.py | 160 +++++++++ src/inscriptis/model/canvas/block.py | 89 +++++ src/inscriptis/model/canvas/prefix.py | 99 ++++++ src/inscriptis/model/config.py | 43 ++- src/inscriptis/model/css.py | 172 ++------- src/inscriptis/model/html_element.py | 167 +++++++++ src/inscriptis/model/table.py | 327 ++++++++++++------ tests/html/advanced-prefix-test.html | 19 + tests/html/advanced-prefix-test.txt | 13 + tests/html/invalid-table3.html | 10 + tests/html/invalid-table3.txt | 4 + tests/html/invisible3.html | 2 + tests/html/invisible3.txt | 0 tests/html/nested-list.html | 36 ++ tests/html/nested-list.txt | 21 ++ tests/html/nested-table-alignment-css.txt | 6 +- tests/html/nested-table-alignment.txt | 6 +- tests/html/nested-table.html | 4 +- tests/html/nested-table.txt | 6 +- tests/html/stackoverflow-list-snippet.html | 34 ++ tests/html/stackoverflow-list-snippet.txt | 2 + tests/html/subsequent-headings.html | 24 ++ tests/html/subsequent-headings.json | 18 + tests/html/subsequent-headings.txt | 21 ++ tests/html/table-empty-row.html | 9 + tests/html/table-empty-row.txt | 5 + tests/html/table-in-table.html | 22 +- tests/html/table-in-table.json | 25 ++ tests/html/table-in-table.txt | 31 +- tests/html/table-pre.txt | 1 - tests/html/table.html | 2 +- tests/html/table.json | 20 ++ ...kipedia-consequtive-links-and-umlauts.html | 16 + ...ikipedia-consequtive-links-and-umlauts.txt | 1 + tests/html/wikipedia-consequtive-tables.html | 243 +++++++++++++ tests/html/wikipedia-consequtive-tables.json | 32 ++ .../wikipedia-enumeration-annotation.html | 66 ++++ .../wikipedia-enumeration-annotation.json | 19 + .../html/wikipedia-enumeration-annotation.txt | 45 +++ tests/html/wikipedia-equation.html | 10 + tests/html/wikipedia-equation.txt | 7 + ...-table-bordercase-verticial-alignmnet.html | 28 ++ ...-table-bordercase-verticial-alignmnet.json | 31 ++ tests/html/wikipedia-table-bordercase1.html | 21 ++ tests/html/wikipedia-table-bordercase1.json | 21 ++ tests/html/wikipedia-table.html | 3 + tests/html/wikipedia-table.json | 33 ++ tests/html/wikipedia-table.txt | 6 +- tests/test_annotation.py | 67 ++++ tests/test_annotation_output_processor.py | 79 +++++ tests/test_annotation_rule_parsing.py | 76 ++++ tests/test_block.py | 65 ++++ tests/test_broken_table_handling.py | 14 +- tests/test_double_a.py | 1 + tests/test_empty_string.py | 1 + tests/test_engine.py | 11 + tests/test_html_snippets.py | 19 +- tests/test_html_snippets_annotations.py | 63 ++++ tests/test_limit_whitespace_affixes.py | 14 +- tests/test_margin_before_at_start.py | 4 +- tests/test_margin_handling.py | 37 ++ tests/test_metadata.py | 19 + tests/test_model_html_element_canvas.py | 56 +++ tests/test_model_line.py | 44 --- tests/test_model_prefix.py | 56 +++ tests/test_parse_css.py | 14 +- tests/test_style_parsing.py | 3 +- tests/test_table_cell.py | 79 ++--- tests/test_table_cell_formatting.py | 60 ++++ tests/test_table_row.py | 14 + tests/test_version_information.py | 46 --- tests/test_white_space_handling.py | 45 +++ tox.ini | 21 +- 115 files changed, 4217 insertions(+), 1027 deletions(-) create mode 100644 .coveragerc create mode 100644 benchmarking/a create mode 100644 benchmarking/b create mode 100644 benchmarking/speed_comparisons.txt create mode 100644 docs/paper/Makefile create mode 100644 docs/paper/images/annotations.png create mode 100644 docs/paper/images/inscriptis-vs-lynx.png create mode 100644 docs/paper/images/inscriptis-vs-lynx.xcf create mode 100644 docs/paper/images/raw/inscriptis.png create mode 100644 docs/paper/images/raw/lynx.png create mode 100644 docs/paper/paper.bib create mode 100644 docs/paper/paper.md create mode 100644 docs/paper/paper.pdf create mode 100644 examples/annotation-profile.json create mode 100644 examples/table-annotation-profile.json create mode 100644 examples/unittest.json create mode 100644 examples/wikipedia.json create mode 100644 src/inscriptis/annotation/__init__.py create mode 100644 src/inscriptis/annotation/output/__init__.py create mode 100644 src/inscriptis/annotation/output/html.py create mode 100644 src/inscriptis/annotation/output/surface.py create mode 100644 src/inscriptis/annotation/output/xml.py create mode 100644 src/inscriptis/annotation/parser.py create mode 100644 src/inscriptis/metadata.py delete mode 100644 src/inscriptis/model/canvas.py create mode 100644 src/inscriptis/model/canvas/__init__.py create mode 100644 src/inscriptis/model/canvas/block.py create mode 100644 src/inscriptis/model/canvas/prefix.py create mode 100644 src/inscriptis/model/html_element.py create mode 100644 tests/html/advanced-prefix-test.html create mode 100644 tests/html/advanced-prefix-test.txt create mode 100644 tests/html/invalid-table3.html create mode 100644 tests/html/invalid-table3.txt create mode 100644 tests/html/invisible3.html create mode 100644 tests/html/invisible3.txt create mode 100644 tests/html/nested-list.html create mode 100644 tests/html/nested-list.txt create mode 100644 tests/html/stackoverflow-list-snippet.html create mode 100644 tests/html/stackoverflow-list-snippet.txt create mode 100644 tests/html/subsequent-headings.html create mode 100644 tests/html/subsequent-headings.json create mode 100644 tests/html/subsequent-headings.txt create mode 100644 tests/html/table-empty-row.html create mode 100644 tests/html/table-empty-row.txt create mode 100644 tests/html/table-in-table.json create mode 100644 tests/html/table.json create mode 100644 tests/html/wikipedia-consequtive-links-and-umlauts.html create mode 100644 tests/html/wikipedia-consequtive-links-and-umlauts.txt create mode 100644 tests/html/wikipedia-consequtive-tables.html create mode 100644 tests/html/wikipedia-consequtive-tables.json create mode 100644 tests/html/wikipedia-enumeration-annotation.html create mode 100644 tests/html/wikipedia-enumeration-annotation.json create mode 100644 tests/html/wikipedia-enumeration-annotation.txt create mode 100644 tests/html/wikipedia-equation.html create mode 100644 tests/html/wikipedia-equation.txt create mode 100644 tests/html/wikipedia-table-bordercase-verticial-alignmnet.html create mode 100644 tests/html/wikipedia-table-bordercase-verticial-alignmnet.json create mode 100644 tests/html/wikipedia-table-bordercase1.html create mode 100644 tests/html/wikipedia-table-bordercase1.json create mode 100644 tests/html/wikipedia-table.json create mode 100644 tests/test_annotation.py create mode 100644 tests/test_annotation_output_processor.py create mode 100644 tests/test_annotation_rule_parsing.py create mode 100644 tests/test_block.py create mode 100644 tests/test_engine.py create mode 100644 tests/test_html_snippets_annotations.py create mode 100644 tests/test_margin_handling.py create mode 100644 tests/test_metadata.py create mode 100644 tests/test_model_html_element_canvas.py delete mode 100644 tests/test_model_line.py create mode 100644 tests/test_model_prefix.py create mode 100644 tests/test_table_cell_formatting.py create mode 100644 tests/test_table_row.py delete mode 100644 tests/test_version_information.py diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 0000000..b142fb9 --- /dev/null +++ b/.coveragerc @@ -0,0 +1,2 @@ +[run] +omit = tests/ diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index c585c2f..d0b6f94 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: [3.5, 3.7, 3.8, 3.9] + python-version: [3.6, 3.7, 3.8, 3.9] steps: - uses: actions/checkout@v2 diff --git a/.gitignore b/.gitignore index 4473554..cbdd7fa 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *.pyc +*.pyx .*.swp *.egg-info __pycache__/ @@ -16,3 +17,9 @@ dist/ _build/ .mypy_cache/ .idea/ +venv/ +tests/converted.txt +tests/reference.txt +*.c +paper/*.pdf +htmlcov/ diff --git a/README.rst b/README.rst index b5ed98e..00413d2 100644 --- a/README.rst +++ b/README.rst @@ -26,25 +26,22 @@ inscriptis -- HTML to text conversion library, command line client and Web servi :target: https://badge.fury.io/py/inscriptis :alt: PyPI version -A python based HTML to text conversion library, command line client and Web service with support for **nested tables** and a **subset of CSS**. -Please take a look at the `Rendering `_ document for a demonstration of inscriptis' conversion quality. +A python based HTML to text conversion library, command line client and Web +service with support for **nested tables**, a **subset of CSS** and optional +support for providing an **annotated output**. +Please take a look at the +`Rendering `_ +document for a demonstration of inscriptis' conversion quality. -A Java port of inscriptis is availabe `here `_. +A Java port of inscriptis 1.x is available +`here `_. -Documentation -============= +This document provides a short introduction to Inscriptis. The full +documentation is built automatically and published on +`Read the Docs `_. -The full documentation is built automatically and published on `Read the Docs `_. -Table of Contents -================= - -1. `Installation`_ -2. `Python library`_ -3. `Standalone command line client`_ -4. `Web service`_ -5. `Fine tuning`_ -6. `Changelog`_ +.. contents:: Table of Contents Installation @@ -68,12 +65,14 @@ If you want to install from the latest sources, you can do:: Python library ============== -Embedding inscriptis into your code is easy, as outlined below:: +Embedding inscriptis into your code is easy, as outlined below: + +.. code-block:: python import urllib.request from inscriptis import get_text - url = "https://www.informationscience.ch" + url = "https://www.fhgr.ch" html = urllib.request.urlopen(url).read().decode('utf-8') text = get_text(html) @@ -82,48 +81,51 @@ Embedding inscriptis into your code is easy, as outlined below:: Standalone command line client ============================== -The command line client converts HTML files or text retrieved from Web pages to the -corresponding text representation. +The command line client converts HTML files or text retrieved from Web pages to +the corresponding text representation. Command line parameters ----------------------- The inscript.py command line client supports the following parameters:: - usage: inscript.py [-h] [-o OUTPUT] [-e ENCODING] [-i] [-d] [-l] [-a] - [--indentation INDENTATION] [-v] - [input] - - Converts HTML from file or url to a clean text version - - positional arguments: - input Html input either from a file or an url - (default:stdin) - - optional arguments: - -h, --help show this help message and exit - -o OUTPUT, --output OUTPUT - Output file (default:stdout). - -e ENCODING, --encoding ENCODING - Content encoding for reading and writing files - (default:utf-8) - -i, --display-image-captions - Display image captions (default:false). - -d, --deduplicate-image-captions - Deduplicate image captions (default:false). - -l, --display-link-targets - Display link targets (default:false). - -a, --display-anchor-urls - Deduplicate image captions (default:false). - --indentation INDENTATION - How to handle indentation (extended or strict; - default: extended). - -v, --version display version information + usage: inscript.py [-h] [-o OUTPUT] [-e ENCODING] [-i] [-d] [-l] [-a] [-r ANNOTATION_RULES] [-p POSTPROCESSOR] + [--indentation INDENTATION] [-v] + [input] + + Convert the given HTML document to text. + + positional arguments: + input Html input either from a file or a URL (default:stdin). + + optional arguments: + -h, --help show this help message and exit + -o OUTPUT, --output OUTPUT + Output file (default:stdout). + -e ENCODING, --encoding ENCODING + Input encoding to use (default:utf-8 for files; detected server encoding for Web URLs). + -i, --display-image-captions + Display image captions (default:false). + -d, --deduplicate-image-captions + Deduplicate image captions (default:false). + -l, --display-link-targets + Display link targets (default:false). + -a, --display-anchor-urls + Deduplicate image captions (default:false). + -r ANNOTATION_RULES, --annotation-rules ANNOTATION_RULES + Path to an optional JSON file containing rules for annotating the retrieved text. + -p POSTPROCESSOR, --postprocessor POSTPROCESSOR + Optional component for postprocessing the result (html, surface, xml). + --indentation INDENTATION + How to handle indentation (extended or strict; default: extended). + -v, --version display version information Examples -------- +HTML to text conversion +~~~~~~~~~~~~~~~~~~~~~~~ convert the given page to text and output the result to the screen:: $ inscript.py https://www.fhgr.ch @@ -132,11 +134,94 @@ convert the file to text and save the output to output.txt:: $ inscript.py fhgr.html -o fhgr.txt -convert text provided via stdin and save the output to output.txt:: +convert HTML provided via stdin and save the output to output.txt:: $ echo '

Make it so!

>' | inscript.py -o output.txt +HTML to annotated text conversion +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +convert and annotate HTML from a Web page using the provided annotation rules:: + + $ inscript.py https://www.fhgr.ch -r ./examples/annotation-profile.json + +The annotation rules are specified in `annotation-profile.json`: + +.. code-block:: json + + { + "h1": ["heading", "h1"], + "h2": ["heading", "h2"], + "b": ["emphasis"], + "div#class=toc": ["table-of-contents"], + "#class=FactBox": ["fact-box"], + "#cite": ["citation"] + } + +The dictionary maps an HTML tag and/or attribute to the annotations +inscriptis should provide for them. In the example above, for instance, the tag +`h1` yields the annotations `heading` and `h1`, a `div` tag with a +`class` that contains the value `toc` results in the annotation +`table-of-contents`, and all tags with a `cite` attribute are annotated with +`citation`. + +Given these annotation rules the HTML file + +.. code-block:: HTML + +

Chur

+ Chur is the capital and largest town of the Swiss canton of the + Grisons and lies in the Grisonian Rhine Valley. + +yields the following JSONL output + +.. code-block:: json + + {"text": "Chur\n\nChur is the capital and largest town of the Swiss canton + of the Grisons and lies in the Grisonian Rhine Valley.", + "label": [[0, 4, "heading"], [0, 4, "h1"], [6, 10, "emphasis"]]} + +The provided list of labels contains all annotated text elements with their +start index, end index and the assigned label. + +Annotation postprocessors +~~~~~~~~~~~~~~~~~~~~~~~~~ +Annotation postprocessors enable the post processing of annotations to formats +that are suitable for you particular application. Post processors can be +specified with the `-p` or `--postprocessor` command line argument:: + + $ inscript.py https://www.fhgr.ch \ + -r ./examples/annotation-profile.json \ + -p tag + + +Output: + +.. code-block:: json + + {"text": " Chur\n\n Chur is the capital and largest town of the Swiss + canton of the Grisons and lies in the Grisonian Rhine Valley.", + "label": [[0, 6, "heading"], [8, 14, "emphasis"]], + "tag": "Chur\n\nChur is the + capital and largest town of the Swiss canton of the Grisons and + lies in the Grisonian Rhine Valley."} + + + +Currently, inscriptis supports the following postprocessors: + +- surface: returns an additional mapping between the annotation's surface form and its label:: + + ['heading': 'Chur', 'emphasis': 'Chur'] + +- tag: returns an additional annotated text version:: + + Chur + + Chur is the capital and largest town of the Swiss + canton of the Grisons and lies in the Grisonian Rhine Valley. + + Web Service =========== @@ -158,31 +243,96 @@ Start the inscriptis Web service with the following command:: Usage ----- -The Web services receives the HTML file in the request body and returns the corresponding text. The file's encoding needs to be specified +The Web services receives the HTML file in the request body and returns the +corresponding text. The file's encoding needs to be specified in the `Content-Type` header (`UTF-8` in the example below):: - $ curl -X POST -H "Content-Type: text/html; encoding=UTF8" --data-binary @test.html http://localhost:5000/get_text + $ curl -X POST -H "Content-Type: text/html; encoding=UTF8" \ + --data-binary @test.html http://localhost:5000/get_text The service also supports a version call:: $ curl http://localhost:5000/version +Advanced topics +=============== + +Annotated text +-------------- +Inscriptis can provide annotations alongside the extracted text which allows +downstream components to draw upon semantics that have only been available in +the original HTML file. + +The extracted text and annotations can be exported in different formats, +including the popular JSONL format which is used by +`doccano `_. + +Example output: + +.. code-block:: json + + {"text": "Chur\n\nChur is the capital and largest town of the Swiss canton + of the Grisons and lies in the Grisonian Rhine Valley.", + "label": [[0, 4, "heading"], [0, 4, "h1"], [6, 10, "emphasis"]]} + +The output above is produced, if inscriptis is run with the following +annotation rules: + +.. code-block:: json + + { + "h1": ["heading", "h1"], + "b": ["emphasis"], + } + +The code below demonstrates how inscriptis' annotation capabilities can +be used within a program: + +.. code-block:: python + + import urllib.request + from inscriptis import get_annotated_text + + url = "https://www.fhgr.ch" + html = urllib.request.urlopen(url).read().decode('utf-8') + + rules = {'h1': ['heading', 'h1'], + 'h2': ['heading', 'h2'], + 'b': ['emphasis'], + 'table': ['table'] + } + + output = get_annotated_text(html, ParserConfig(annotation_rules=rules) + print("Text:", output['text']) + print("Annotations:", output['label']) + Fine tuning -=========== +----------- The following options are available for fine tuning inscriptis' HTML rendering: -1. **More rigorous indentation:** call `inscriptis.get_text()` with the parameter `indentation='extended'` to also use indentation for tags such as `
` and `` that do not provide indentation in their standard definition. This strategy is the default in `inscript.py` and many other tools such as lynx. If you do not want extended indentation you can use the parameter `indentation='standard'` instead. +1. **More rigorous indentation:** call `inscriptis.get_text()` with the + parameter `indentation='extended'` to also use indentation for tags such as + `
` and `` that do not provide indentation in their standard + definition. This strategy is the default in `inscript.py` and many other + tools such as lynx. If you do not want extended indentation you can use the + parameter `indentation='standard'` instead. + +2. **Overwriting the default CSS definition:** inscriptis uses CSS definitions + that are maintained in `inscriptis.css.CSS` for rendering HTML tags. You can + override these definitions (and therefore change the rendering) as outlined + below: -2. **Overwriting the default CSS definition:** inscriptis uses CSS definitions that are maintained in `inscriptis.css.CSS` for rendering HTML tags. You can override these definitions (and therefore change the rendering) as outlined below:: +.. code-block:: python from lxml.html import fromstring from inscriptis.css_profiles import CSS_PROFILES, HtmlElement from inscriptis.html_properties import Display from inscriptis.model.config import ParserConfig - # create a custom CSS based on the default style sheet and change the rendering of `div` and `span` elements + # create a custom CSS based on the default style sheet and change the + # rendering of `div` and `span` elements css = CSS_PROFILES['strict'].copy() css['div'] = HtmlElement('div', display=Display.block, padding=2) css['span'] = HtmlElement('span', prefix=' ', suffix=' ') @@ -197,4 +347,5 @@ The following options are available for fine tuning inscriptis' HTML rendering: Changelog ========= -A full list of changes can be found in the `release notes `_. +A full list of changes can be found in the +`release notes `_. diff --git a/benchmarking/a b/benchmarking/a new file mode 100644 index 0000000..fc976e9 --- /dev/null +++ b/benchmarking/a @@ -0,0 +1,113 @@ +justext is not available. Please install it in order to compare with justext. + +URL: www.watson.de +Lynx : 0.15138936042785645 --> fastest +Inscriptis : 0.20263218879699707 +0.051242828369140625 +BeautifulSoup: 0.3756422996520996 +0.22425293922424316 +Html2Text : 0.43219757080078125 +0.2808082103729248 + + +URL: www.watson.ch-Digital20&20Games-Android-134350872-Der-Monster-Akku-in-diesem-Smartphone-hC3A4lt-bis- +Inscriptis : 0.07737088203430176 --> fastest +BeautifulSoup: 0.1150212287902832 +0.037650346755981445 +Lynx : 0.1359405517578125 +0.05856966972351074 +Html2Text : 0.1448962688446045 +0.06752538681030273 + + +URL: www.heise.de +Lynx : 0.15659260749816895 --> fastest +Inscriptis : 0.20164966583251953 +0.045057058334350586 +BeautifulSoup: 0.29897594451904297 +0.14238333702087402 +Html2Text : 0.37505173683166504 +0.2184591293334961 + + +URL: www.heise.de-newsticker-meldung-Fairphone-2-im-Test-Das-erste-modulare-Smartphone-3043417.html +Inscriptis : 0.09370565414428711 --> fastest +Lynx : 0.15947198867797852 +0.0657663345336914 +BeautifulSoup: 0.16203570365905762 +0.06833004951477051 +Html2Text : 0.21861886978149414 +0.12491321563720703 + + +URL: www.nzz.de +Lynx : 0.17096304893493652 --> fastest +Inscriptis : 0.2877614498138428 +0.11679840087890625 +Html2Text : 0.4983334541320801 +0.32737040519714355 +BeautifulSoup: 0.5966424942016602 +0.42567944526672363 + + +URL: www.nzz.ch-mobilitaet-auto-mobil-bekenntnis-zum-stromauto-ld.3630 +Inscriptis : 0.1326134204864502 --> fastest +Lynx : 0.14449405670166016 +0.011880636215209961 +BeautifulSoup: 0.16537070274353027 +0.03275728225708008 +Html2Text : 0.2061011791229248 +0.07348775863647461 + + +URL: de.wikipedia.org-wiki-Wikipedia-Hauptseite +Inscriptis : 0.0768730640411377 --> fastest +BeautifulSoup: 0.1140899658203125 +0.037216901779174805 +Html2Text : 0.1279299259185791 +0.051056861877441406 +Lynx : 0.13344478607177734 +0.05657172203063965 + + +URL: de.wikipedia.org-wiki-Python_(Programmiersprache) +Lynx : 0.15608739852905273 --> fastest +Inscriptis : 0.2505784034729004 +0.09449100494384766 +BeautifulSoup: 0.3396627902984619 +0.18357539176940918 +Html2Text : 0.407498836517334 +0.25141143798828125 + + +URL: de.wikipedia.org-wiki-Chur +Lynx : 0.19526290893554688 --> fastest +Inscriptis : 0.4372870922088623 +0.24202418327331543 +BeautifulSoup: 0.5105750560760498 +0.31531214714050293 +Html2Text : 0.7925112247467041 +0.5972483158111572 + + +URL: jr-central.co.jp +Inscriptis : 0.030536651611328125 --> fastest +BeautifulSoup: 0.04150390625 +0.010967254638671875 +Html2Text : 0.05070781707763672 +0.020171165466308594 +Lynx : 0.1379244327545166 +0.10738778114318848 + + +URL: www.aljazeera.net-portal +Lynx : 0.18790936470031738 --> fastest +Inscriptis : 0.3582143783569336 +0.1703050136566162 +BeautifulSoup: 0.5611743927001953 +0.37326502799987793 +Html2Text : 0.6482110023498535 +0.46030163764953613 + + +URL: www.aljazeera.net-news-humanrights-2015-12-14-D8A3D988D8A8D8A7D985D8A7-D98AD8ACD8AFD8AF-D8A7D984D8AA +Inscriptis : 0.13330984115600586 --> fastest +Lynx : 0.14847993850708008 +0.015170097351074219 +BeautifulSoup: 0.17941498756408691 +0.046105146408081055 +Html2Text : 0.242262601852417 +0.10895276069641113 + + +URL: www.fhgr.ch +Lynx : 0.20734667778015137 --> fastest +Inscriptis : 0.5514888763427734 +0.34414219856262207 +BeautifulSoup: 0.7790236473083496 +0.5716769695281982 +Html2Text : 0.9708971977233887 +0.7635505199432373 + + +URL: www.diepresse.com +Lynx : 0.18340134620666504 --> fastest +Inscriptis : 0.2943253517150879 +0.11092400550842285 +BeautifulSoup: 0.48204803466796875 +0.2986466884613037 +Html2Text : 0.5474369525909424 +0.36403560638427734 + + +URL: derstandard.at +Lynx : 0.17057490348815918 --> fastest +Inscriptis : 0.3920929431915283 +0.22151803970336914 +BeautifulSoup: 0.4781017303466797 +0.3075268268585205 +Html2Text : 0.5499060153961182 +0.379331111907959 + + +URL: krone.at +Lynx : 0.18678593635559082 --> fastest +Inscriptis : 0.41831398010253906 +0.23152804374694824 +BeautifulSoup: 0.6808819770812988 +0.494096040725708 +Html2Text : 0.794529914855957 +0.6077439785003662 + diff --git a/benchmarking/b b/benchmarking/b new file mode 100644 index 0000000..fdd3bfc --- /dev/null +++ b/benchmarking/b @@ -0,0 +1,3 @@ +justext is not available. Please install it in order to compare with justext. + +URL: www.watson.de diff --git a/benchmarking/run_benchmarking.py b/benchmarking/run_benchmarking.py index d8b00a4..4ae9652 100755 --- a/benchmarking/run_benchmarking.py +++ b/benchmarking/run_benchmarking.py @@ -1,10 +1,10 @@ #!/usr/bin/env python3 # coding:utf-8 -''' +""" Runs a benchmarking suite to compare speed and output of different implementations. -''' - +""" +import argparse from datetime import datetime import operator import os @@ -55,25 +55,25 @@ OUTFILE = 'speed_comparisons.txt' -class AbstractHtmlConverter(): - ''' +class AbstractHtmlConverter: + """ An abstract HTML convert class. - ''' + """ def get_text(self, html): - ''' + """ Returns: a text representation of the given HTML snippet. - ''' + """ raise NotImplementedError def benchmark(self, html): - ''' + """ Benchmarks the classes HTML to text converter. Returns: A tuple of the required time and the obtained text representation. - ''' + """ start_time = time() for _ in range(TRIES): text = self.get_text(html) @@ -81,9 +81,9 @@ def benchmark(self, html): class BeautifulSoupHtmlConverter(AbstractHtmlConverter): - ''' + """ Converts HTML to text using BeautifulSoup. - ''' + """ name = 'BeautifulSoup' def __init__(self): @@ -103,10 +103,10 @@ def get_text(self, html): return result -class JustextHtmlConverter(AbstractHtmlConverter): - ''' +class JustextConverter(AbstractHtmlConverter): + """ Converts HTML to text using Justtext. - ''' + """ name = 'Justtext' def __init__(self): @@ -119,9 +119,9 @@ def get_text(self, html): class Html2TextConverter(AbstractHtmlConverter): - ''' + """ Converts HTML to text using Html2Text. - ''' + """ name = 'Html2Text' def __init__(self): @@ -135,11 +135,11 @@ def get_text(self, html): return ''.join(result) -class LynxHtmlConverter(AbstractHtmlConverter): - ''' +class LynxConverter(AbstractHtmlConverter): + """ Converts HTML to text using lynx. - ''' - name = 'lynx' + """ + name = 'Lynx' def __init__(self): try: @@ -174,29 +174,32 @@ def kill_lynx(pid): class InscriptisHtmlConverter(AbstractHtmlConverter): - ''' + """ Converts HTML to text using Inscriptis. - ''' + """ name = 'Inscriptis' def __init__(self): self.available = 'inscriptis' in sys.modules + if self.available: + from inscriptis import get_text + self.get_text = get_text def get_text(self, html): - return inscriptis.get_text(html) + return self.get_text(html) timestamp = str(datetime.now()).replace(' ', '_').replace(':', '-')\ .split('.')[0] -benchmarking_results_dir = os.path.join(BENCHMARKING_ROOT, - 'benchmarking_results', timestamp) -CACHE_DIR = os.path.join(BENCHMARKING_ROOT, 'html_cache') +DEFAULT_RESULT_DIR = os.path.join(BENCHMARKING_ROOT, 'benchmarking_results', + timestamp) +DEFAULT_CACHE_DIR = os.path.join(BENCHMARKING_ROOT, 'html_cache') -def save_to_file(algorithm, url, data): - ''' +def save_to_file(algorithm, url, data, benchmarking_results_dir): + """ Saves a benchmarking result to the given file. - ''' + """ result_file = os.path.join(benchmarking_results_dir, '{}_{}.txt'.format(algorithm, url)) with open(result_file, 'w') as output_file: @@ -204,9 +207,9 @@ def save_to_file(algorithm, url, data): def get_speed_table(times): - ''' + """ Provides the table which compares the conversion speed. - ''' + """ fastest = 999999 for key, value in times.items(): if value < fastest: @@ -241,10 +244,10 @@ def get_speed_table(times): return result -def get_fname(url): - ''' +def get_fname(url) -> str: + """ Transforms a URL to a file name. - ''' + """ trash = (('http://', ''), ('https://', ''), ('/', '-'), @@ -257,29 +260,55 @@ def get_fname(url): CONVERTER = (BeautifulSoupHtmlConverter(), - JustextHtmlConverter(), + JustextConverter(), Html2TextConverter(), - LynxHtmlConverter(), + LynxConverter(), InscriptisHtmlConverter()) +def parse_args(): + """ + Parse optional benchmarking arguments. + """ + parser = argparse.ArgumentParser(description='Inscriptis benchmarking ' + 'suite') + parser.add_argument('converter', type=str, nargs='*', + help='The list of converters to benchmark (options:' + 'BeautifulSoup, Justext, Html2Text, Lynx, ' + 'Inscriptis; default: all)') + parser.add_argument('-u', '--benchmarking-urls', + default=os.path.join(BENCHMARKING_ROOT, + 'url_list.txt'), + help='A list of URLs to use in the benchmark.') + parser.add_argument('-r', '--benchmarking-results', + default=DEFAULT_RESULT_DIR, + help='Optional directory for saving the benchmarking ' + 'results.') + parser.add_argument('-c', '--cache', default=DEFAULT_CACHE_DIR, + help='Optional cache directory for the retrieved Web ' + 'pages.') + return parser.parse_args() + + def benchmark(): - ''' + """ Runs the benchmark. - ''' + """ + args = parse_args() + # These are a few predefined urls the script will - with open(os.path.join(BENCHMARKING_ROOT, 'url_list.txt')) as url_list: + with open(args.benchmarking_urls) as url_list: sources = [url.strip() for url in url_list] - if not os.path.exists(benchmarking_results_dir): - os.makedirs(benchmarking_results_dir) + if not os.path.exists(args.benchmarking_results): + os.makedirs(args.benchmarking_results) - if not os.path.exists(CACHE_DIR): - os.makedirs(CACHE_DIR) + if not os.path.exists(args.cache): + os.makedirs(args.cache) for source in sources: source_name = get_fname(source) - source_cache_path = os.path.join(CACHE_DIR, source_name) + source_cache_path = os.path.join(args.cache, source_name) if os.path.exists(source_cache_path): html = open(source_cache_path).read() else: @@ -290,26 +319,28 @@ def benchmark(): html = urllib.request.urlopen(req).read().decode('latin1') open(source_cache_path, 'w').write(html) - with open(os.path.join(benchmarking_results_dir, + with open(os.path.join(args.benchmarking_results, 'speed_comparisons.txt'), 'a') as output_file: output_file.write('\nURL: {}\n'.format(source_name)) print('\nURL: {}'.format(source_name)) times = {} for converter in CONVERTER: - if converter.available: + if converter.available and not args.converter or converter.name \ + in args.converter: time_required, text = converter.benchmark(html) times[converter.name] = time_required - save_to_file(converter.name, source_name, text) + save_to_file(converter.name, source_name, text, + args.benchmarking_results) speed_table = get_speed_table(times) print(speed_table) - with open(os.path.join(benchmarking_results_dir, + with open(os.path.join(args.benchmarking_results, OUTFILE), 'a') as output_file: output_file.write(speed_table + '\n') - with open(os.path.join(benchmarking_results_dir, + with open(os.path.join(args.benchmarking_results, OUTFILE), 'a') as output_file: output_file.write('\n') diff --git a/benchmarking/speed_comparisons.txt b/benchmarking/speed_comparisons.txt new file mode 100644 index 0000000..2793862 --- /dev/null +++ b/benchmarking/speed_comparisons.txt @@ -0,0 +1,113 @@ + +URL: www.watson.de +inscriptis : 0.0886073112487793 --> fastest +lynx : 0.09243917465209961 +0.0038318634033203125 +html2text : 0.27269411087036133 +0.18408679962158203 +beautifulsoup: 0.3715205192565918 +0.2829132080078125 + + +URL: www.watson.ch-Digital20&20Games-Android-134350872-Der-Monster-Akku-in-diesem-Smartphone-hC3A4lt-bis- +inscriptis : 0.031877756118774414 --> fastest +lynx : 0.06591463088989258 +0.034036874771118164 +html2text : 0.09615325927734375 +0.06427550315856934 +beautifulsoup: 0.10839462280273438 +0.07651686668395996 + + +URL: www.heise.de +inscriptis : 0.0771639347076416 --> fastest +lynx : 0.0936579704284668 +0.016494035720825195 +html2text : 0.2419900894165039 +0.1648261547088623 +beautifulsoup: 0.29470372200012207 +0.21753978729248047 + + +URL: www.heise.de-newsticker-meldung-Fairphone-2-im-Test-Das-erste-modulare-Smartphone-3043417.html +inscriptis : 0.036151885986328125 --> fastest +lynx : 0.0704348087310791 +0.03428292274475098 +html2text : 0.10545611381530762 +0.06930422782897949 +beautifulsoup: 0.12367486953735352 +0.08752298355102539 + + +URL: www.nzz.de +lynx : 0.10388016700744629 --> fastest +inscriptis : 0.11366724967956543 +0.00978708267211914 +html2text : 0.34471607208251953 +0.24083590507507324 +beautifulsoup: 0.37203025817871094 +0.26815009117126465 + + +URL: www.nzz.ch-mobilitaet-auto-mobil-bekenntnis-zum-stromauto-ld.3630 +inscriptis : 0.05420851707458496 --> fastest +lynx : 0.08396458625793457 +0.02975606918334961 +html2text : 0.15306854248046875 +0.09886002540588379 +beautifulsoup: 0.16551637649536133 +0.11130785942077637 + + +URL: de.wikipedia.org-wiki-Wikipedia-Hauptseite +inscriptis : 0.029024839401245117 --> fastest +lynx : 0.0713193416595459 +0.04229450225830078 +beautifulsoup: 0.08946847915649414 +0.06044363975524902 +html2text : 0.09077596664428711 +0.06175112724304199 + + +URL: de.wikipedia.org-wiki-Python_(Programmiersprache) +inscriptis : 0.08830070495605469 --> fastest +lynx : 0.09342122077941895 +0.005120515823364258 +html2text : 0.30716776847839355 +0.21886706352233887 +beautifulsoup: 0.3195374011993408 +0.23123669624328613 + + +URL: de.wikipedia.org-wiki-Chur +lynx : 0.110748291015625 --> fastest +inscriptis : 0.16320323944091797 +0.05245494842529297 +html2text : 0.4872932434082031 +0.3765449523925781 +beautifulsoup: 0.4883759021759033 +0.3776276111602783 + + +URL: jr-central.co.jp +inscriptis : 0.012284517288208008 --> fastest +html2text : 0.03157520294189453 +0.019290685653686523 +beautifulsoup: 0.04013681411743164 +0.027852296829223633 +lynx : 0.06790828704833984 +0.055623769760131836 + + +URL: www.aljazeera.net-portal +lynx : 0.11873912811279297 --> fastest +inscriptis : 0.13616037368774414 +0.017421245574951172 +html2text : 0.35196900367736816 +0.2332298755645752 +beautifulsoup: 0.5011019706726074 +0.38236284255981445 + + +URL: www.aljazeera.net-news-humanrights-2015-12-14-D8A3D988D8A8D8A7D985D8A7-D98AD8ACD8AFD8AF-D8A7D984D8AA +inscriptis : 0.04958152770996094 --> fastest +lynx : 0.08647871017456055 +0.03689718246459961 +html2text : 0.1424856185913086 +0.09290409088134766 +beautifulsoup: 0.21869587898254395 +0.169114351272583 + + +URL: www.htwchur.ch +inscriptis : 0.04151415824890137 --> fastest +lynx : 0.07280635833740234 +0.03129220008850098 +html2text : 0.11662626266479492 +0.07511210441589355 +beautifulsoup: 0.1333613395690918 +0.09184718132019043 + + +URL: www.diepresse.com +lynx : 0.10844087600708008 --> fastest +inscriptis : 0.11291694641113281 +0.004476070404052734 +html2text : 0.3410661220550537 +0.23262524604797363 +beautifulsoup: 0.42446470260620117 +0.3160238265991211 + + +URL: derstandard.at +lynx : 0.10470342636108398 --> fastest +inscriptis : 0.14974093437194824 +0.04503750801086426 +html2text : 0.4319000244140625 +0.3271965980529785 +beautifulsoup: 0.4459238052368164 +0.3412203788757324 + + +URL: krone.at +lynx : 0.11936330795288086 --> fastest +inscriptis : 0.18073749542236328 +0.06137418746948242 +html2text : 0.571204662322998 +0.4518413543701172 +beautifulsoup: 0.6350071430206299 +0.515643835067749 + + diff --git a/benchmarking/url_list.txt b/benchmarking/url_list.txt index 94225ea..e58ed7a 100644 --- a/benchmarking/url_list.txt +++ b/benchmarking/url_list.txt @@ -14,3 +14,5 @@ https://www.fhgr.ch https://www.diepresse.com https://derstandard.at https://krone.at +https://stackoverflow.com/questions/328356/extracting-text-from-html-file-using-python/46921881 +https://www.chur.ch/churinzahlen diff --git a/docs/benchmarking.rst b/docs/benchmarking.rst index 7b84eea..1898ebc 100644 --- a/docs/benchmarking.rst +++ b/docs/benchmarking.rst @@ -4,12 +4,33 @@ Testing, benchmarking and evaluation Unit tests ========== -Test cases concerning the html to text conversion are located in the `tests/html` directory and consist of two files: +In addition to the standard unit tests that are located in the project's `test` directory Inscriptis also contains +test cases that solely focus on the html to text conversion and are located in the `tests/html` directory. +These tests consist of two files: 1. `test-name.html` and 2. `test-name.txt` -the latter one containing the reference text output for the given html file. +The `.txt` file contains the reference text output for the given html file. + +Since Inscripits 2.0 there may also be a third file named `test-name.json` in the `tests/html` directory which contains a JSON dictioanry with keys + + 1. `annotation-rules` containing the annotation rules for extracting metadata from the corresponding html file, and + 2. `result` which stores the surface forms of the extracted metadata. + + +Example:: + + {"annotation_rules": { + "h1": ["heading"], + "b": ["emphasis"] + }, + "result": [ + ["heading", "The first"], + ["heading", "The second"], + ["heading", "Subheading"] + ] + } Text conversion output comparison and benchmarking diff --git a/docs/conf.py b/docs/conf.py index 8b074b8..0f764f0 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -22,7 +22,7 @@ sys.path.insert(0, os.path.abspath('.')) sys.path.insert(0, os.path.abspath('./../src')) -import inscriptis +from inscriptis.metadata import __copyright__, __author__, __version__ # -- General configuration ------------------------------------------------ @@ -52,17 +52,17 @@ # General information about the project. project = 'inscriptis' -copyright = inscriptis.__copyright__ -author = inscriptis.__author__ +copyright = __copyright__ +author = __author__ # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. -version = inscriptis.__version__ +version = __version__ # The full version, including alpha/beta/rc tags. -release = inscriptis.__version__ +release = __version__ # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/docs/inscriptis-module-documentation.rst b/docs/inscriptis-module-documentation.rst index 395f468..b25cb8f 100644 --- a/docs/inscriptis-module-documentation.rst +++ b/docs/inscriptis-module-documentation.rst @@ -5,28 +5,54 @@ Inscriptis module documentation .. automodule:: inscriptis :members: +Inscriptis model +================ + Inscriptis HTML engine -====================== +---------------------- .. automodule:: inscriptis.html_engine :members: Inscriptis HTML properties -========================== +-------------------------- .. automodule:: inscriptis.html_properties :members: Inscriptis CSS model -==================== +-------------------- .. automodule:: inscriptis.model.css :members: Inscriptis canvas model -======================= +----------------------- .. automodule:: inscriptis.model.canvas :members: +.. automodule:: inscriptis.model.canvas.block + :members: + +.. automodule:: inscriptis.model.canvas.prefix + :members: + + + Inscriptis table model -====================== +---------------------- .. automodule:: inscriptis.model.table :members: + +.. _annotations: + +Inscriptis annotations +====================== + +.. automodule:: inscriptis.annotation + :members: + + +Annotation processors +--------------------- + +.. automodule:: inscriptis.annotation.output + :members: diff --git a/docs/paper/Makefile b/docs/paper/Makefile new file mode 100644 index 0000000..5bcdf4a --- /dev/null +++ b/docs/paper/Makefile @@ -0,0 +1,6 @@ +all: + docker run --rm \ + --volume `pwd`:/data \ + --user $(id -u):$(id -g) \ + --env JOURNAL=joss \ + openjournals/paperdraft diff --git a/docs/paper/images/annotations.png b/docs/paper/images/annotations.png new file mode 100644 index 0000000000000000000000000000000000000000..accec0522754e4e26b9c35a4a523daf2537d4537 GIT binary patch literal 86717 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 L%2Fi~rl0;7Z_z6e literal 0 HcmV?d00001 diff --git a/docs/paper/images/inscriptis-vs-lynx.png b/docs/paper/images/inscriptis-vs-lynx.png new file mode 100644 index 0000000000000000000000000000000000000000..c741e0cace0d0f9fc0c9d86fd3651a1f386a7ba9 GIT binary patch literal 107860 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

5C|8`*T`{)?NgU^ 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%0D~bUF{>WtP2y4z_T~aZ>Zr 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

_fT%@F_5-`*SNynBimt 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/paper/images/raw/lynx.png b/docs/paper/images/raw/lynx.png new file mode 100644 index 0000000000000000000000000000000000000000..5cea2fd82bec85fea21d2f3b5c4a3d3e371db9e8 GIT binary patch literal 130252 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 CH(Ki;1;$bKo`#V`^_d=j%i_ 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�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 literal 0 HcmV?d00001 diff --git a/docs/paper/paper.bib b/docs/paper/paper.bib new file mode 100644 index 0000000..cfd89dc --- /dev/null +++ b/docs/paper/paper.bib @@ -0,0 +1,284 @@ + +@article{wang_review_2020, + title = {A review of emotion sensing: categorization models and algorithms}, + issn = {1573-7721}, + shorttitle = {A review of emotion sensing}, + url = {https://doi.org/10.1007/s11042-019-08328-z}, + doi = {10.1007/s11042-019-08328-z}, + abstract = {Sentiment analysis consists in the identification of the sentiment polarity associated with a target object, such as a book, a movie or a phone. Sentiments reflect feelings and attitudes, while emotions provide a finer characterization of the sentiments involved. With the huge number of comments generated daily on the Internet, besides sentiment analysis, emotion identification has drawn keen interest from different researchers, businessmen and politicians for polling public opinions and attitudes. This paper reviews and discusses existing emotion categorization models for emotion analysis and proposes methods that enhance existing emotion research. We carried out emotion analysis by inviting experts from different research areas to produce comprehensive results. Moreover, a computational emotion sensing model is proposed, and future improvements are discussed in this paper.}, + language = {en}, + urldate = {2020-01-07}, + journal = {Multimedia Tools and Applications}, + author = {Wang, Zhaoxia and Ho, Seng-Beng and Cambria, Erik}, + month = jan, + year = {2020}, + keywords = {Affective computing, Emotion categorization model, Emotion definition, Sentiment analysis}, + annote = {Summary +This paper discusses different emotion models such as Ekman's emotion model, Plutchik's wheel of emotions and the Hourglass of Emotions. + +the models are based on different assumptions and models that may be inspired by psychology or biology. +There is a clear distinction between feeling (primarily determined by the person's internal state) and emotion (triggered by the environment). +The discussed models cover a total of 65 different emotions. +there are emotional categories such as surprise which might not have a polarity or for which the polarity might depend on the context. This has also been confirmed by an experiment in which experts evaluated the polarity of 65 emotions. +OCC emotion model - calibrated by considering the author's personality based on openness, conscientiousness, agreeableness, extraversion and neuroticism) + +Datasets + +The paper contains background information and examples of different emotion models +Shaver et al. - hierachical emotion model +Gui et al. - public dataset based on SINA city news. +}, + file = {Wang et al. - 2020 - A review of emotion sensing categorization models.pdf:/home/albert/Zotero/storage/C5Y56QRX/Wang et al. - 2020 - A review of emotion sensing categorization models.pdf:application/pdf}, +} + +@inproceedings{mikolov_distributed_2013, + title = {Distributed {Representations} of {Words} and {Phrases} and their {Compositionality}}, + url = {http://papers.nips.cc/paper/5021-distributed-representations-of-words-and-phrases-and-their-compositionality}, + booktitle = {Advances in {Neural} {Information} {Processing} {Systems} 26: 27th {Annual} {Conference} on {Neural} {Information} {Processing} {Systems} 2013. {Proceedings} of a meeting held {December} 5-8, 2013, {Lake} {Tahoe}, {Nevada}, {United} {States}}, + author = {Mikolov, Tomas and Sutskever, Ilya and Chen, Kai and Corrado, Gregory S. and Dean, Jeffrey}, + year = {2013}, + keywords = {word2vec}, + pages = {3111--3119}, + file = {arXiv\:1310.4546 PDF:/home/albert/Zotero/storage/695ESUSG/Mikolov et al. - 2013 - Distributed Representations of Words and Phrases a.pdf:application/pdf}, +} + +@inproceedings{pennington_glove:_2014, + address = {Doha, Qatar}, + title = {Glove: {Global} {Vectors} for {Word} {Representation}}, + shorttitle = {Glove}, + url = {https://www.aclweb.org/anthology/D14-1162}, + doi = {10.3115/v1/D14-1162}, + urldate = {2019-12-12}, + booktitle = {Proceedings of the 2014 {Conference} on {Empirical} {Methods} in {Natural} {Language} {Processing} ({EMNLP})}, + publisher = {Association for Computational Linguistics}, + author = {Pennington, Jeffrey and Socher, Richard and Manning, Christopher}, + month = oct, + year = {2014}, + keywords = {word embeddings}, + pages = {1532--1543}, + file = {Pennington et al. - 2014 - Glove Global Vectors for Word Representation.pdf:/home/albert/Zotero/storage/ZBQABJR6/Pennington et al. - 2014 - Glove Global Vectors for Word Representation.pdf:application/pdf}, +} + +@article{scharl_semantic_2017, + title = {Semantic {Systems} and {Visual} {Tools} to {Support} {Environmental} {Communication}}, + volume = {11}, + copyright = {All rights reserved}, + doi = {10.1109/JSYST.2015.2466439}, + abstract = {Given the intense attention that environmental topics such as climate change attract in news and social media coverage, key questions are how different stakeholders perceive observable threats and policy options, how public media react to new scientific insights, and how journalists present climate science knowledge to the public. This paper investigates the potential of semantic technologies to address these questions. After summarizing methods to extract and disambiguate context information, we present visualization techniques to explore the lexical, geospatial and relational context of topics and entities referenced in these repositories. The examples stem from the Media Watch on Climate Change, the Climate Resilience Toolkit and the NOAA Media Watch - three applications that aggregate environmental resources from a wide range of online sources. These systems not only show the value of providing comprehensive information to the public, but also have helped to develop a novel communication success metric that goes beyond bipolar assessments of sentiment.}, + number = {2}, + journal = {IEEE Systems Journal}, + author = {Scharl, Arno and Herring, David and Rafelsberger, Walter and Hubmann-Haidvogel, Alexander and Kamolov, Ruslan and Fischl, Daniel and Föls, Michael and Weichselbraun, Albert}, + year = {2017}, + keywords = {annotation, climate science, context information, relation extraction, visual analytics, web intelligence}, + pages = {762--771}, + file = {Scharl et al. - 2017 - Semantic Systems and Visual Tools to Support Envir.pdf:/home/albert/Zotero/storage/3VIFSWB3/Scharl et al. - 2017 - Semantic Systems and Visual Tools to Support Envir.pdf:application/pdf}, +} + +@article{li_effect_2014, + title = {The effect of news and public mood on stock movements}, + volume = {278}, + issn = {0020-0255}, + url = {http://www.sciencedirect.com/science/article/pii/S0020025514003879}, + doi = {10.1016/j.ins.2014.03.096}, + abstract = {With technological advancements that cultivate vibrant creation, sharing, and collaboration among Web users, investors can rapidly obtain more valuable and timely information. Meanwhile, the adaption of user engagement in media effectively magnifies the information in the news. With such rapid information influx, investor decisions tend to be influenced by peer and public emotions. An effective methodology to quantitatively analyze the mechanism of information percolation and its degree of impact on stock markets has yet to be explored. In this article, we propose a quantitative media-aware trading strategy to investigate the media impact on stock markets. Our main findings are that (1) fundamental information of firm-specific news articles can enrich the knowledge of investors and affect their trading activities; (2) public sentiments cause emotional fluctuations in investors and intervene in their decision making; and (3) the media impact on firms varies according to firm characteristics and article content.}, + urldate = {2016-02-24}, + journal = {Information Sciences}, + author = {Li, Qing and Wang, TieJun and Li, Ping and Liu, Ling and Gong, Qixu and Chen, Yuanzhu}, + month = sep, + year = {2014}, + keywords = {News, Sentiment Analysis, social media, Stock market, text mining}, + pages = {826--840}, + file = {Li et al. - 2014 - The effect of news and public mood on stock moveme.pdf:/home/albert/Zotero/storage/4AIV6JCP/Li et al. - 2014 - The effect of news and public mood on stock moveme.pdf:application/pdf}, +} + +@inproceedings{weichselbraun_extracting_2016, + address = {Kauai, Hawaii}, + title = {Extracting {Opinion} {Targets} from {Environmental} {Web} {Coverage} and {Social} {Media} {Streams}}, + copyright = {All rights reserved}, + abstract = {Policy makers and environmental organizations have a keen interest in awareness building and the evolution of stakeholder opinions on environmental issues. Mere polarity detection, as provided by many existing methods, does not suffice to understand the emergence of collective awareness. Methods for extracting affective knowledge should be able to pinpoint opinion targets within a thread. Opinion target extraction provides a more accurate and fine-grained identification of opinions expressed in online media. This paper compares two different approaches for identifying potential opinion targets and applies them to comments from the YouTube video sharing platform. The first approach is based on statistical keyword analysis in conjunction with sentiment classification on the sentence level. The second approach uses dependency parsing to pinpoint the target of an opinionated term. A case study based on YouTube postings applies the developed methods and measures their ability to handle noisy input data from social media streams.}, + booktitle = {Proceedings of the 49th {Hawaii} {International} {Conference} on {System} {Sciences} ({HICSS}-49)}, + publisher = {IEEE Computer Society Press}, + author = {Weichselbraun, Albert and Scharl, Arno and Gindl, Stefan}, + month = jan, + year = {2016}, + note = {Accepted 17 August 2015}, + keywords = {climate change, keyword analysis, Opinion mining, opinion target extraction, sentiment analysis}, +} + +@article{weichselbraun_adapting_2021, + title = {Adapting {Data}-{Driven} {Research} to the {Fields} of {Social} {Sciences} and the {Humanities}}, + volume = {13}, + issn = {1999-5903}, + doi = {10.3390/fi13030059}, + abstract = {Recent developments in the fields of computer science such as advances in the areas of big data, knowledge extraction and deep learning have triggered the application of data-driven research methods to disciplines such as social sciences and humanities. This article presents a collaborative, interdisciplinary process for adapting data-driven research to research questions within other disciplines that considers the methodological background required to obtain a significant impact on the target discipline, guides the systematic collection and formalization of domain knowledge, the selection of appropriate data sources and methods for analyzing, visualizing and interpreting the results. +Finally, we present a case study that applies the described process to the domain of communication science by creating approaches that aid domain experts in locating, tracking, analyzing and finally better understanding the dynamics of media criticism. The study clearly demonstrates the potential of the presented method but also shows that data-driven research approaches require a tighter integration with the methodological framework of the target discipline to really provide a significant impact on the target discipline.}, + number = {3}, + journal = {Future Internet}, + author = {Weichselbraun, Albert and Kuntschik, Philipp and Fancolino, Vincenzo and Saner, Mirco and Wyss, Vinzenz}, + year = {2021}, + note = {Accepted 22 February 2021}, +} + +@article{reis_transformers_2021, + title = {Transformers aftermath: current research and rising trends}, + volume = {64}, + issn = {0001-0782}, + shorttitle = {Transformers aftermath}, + url = {https://doi.org/10.1145/3430937}, + doi = {10.1145/3430937}, + abstract = {Attention, particularly self-attention, is a standard in current NLP literature, but to achieve meaningful models, attention is not enough.}, + number = {4}, + urldate = {2021-05-18}, + journal = {Communications of the ACM}, + author = {Reis, Eduardo Souza Dos and Costa, Cristiano André Da and Silveira, Diórgenes Eugênio Da and Bavaresco, Rodrigo Simon and Righi, Rodrigo Da Rosa and Barbosa, Jorge Luis Victória and Antunes, Rodolfo Stoffel and Gomes, Márcio Miguel and Federizzi, Gustavo}, + month = mar, + year = {2021}, + pages = {154--163}, + annote = {Summary +This overview article discusses the transformer architecture, ground breaking models and open issues in the use of transformers for natural language understanding. +Background + +most NLP research relies upon a sentence-to-sentence modelling:- input: x\_1, ... x\_n- output: y\_1, .. y\_n-1 - determine y\_n given intermediate representations z\_1, ... z\_n +solution: RNNs - predict y\_n given the distribution of previous inputs- problem:vanishing gradient problem; addressed by a forgetting mechanism- training time increases exponentially with the context vector +encoder-decoder architecture: - fed with input tokens x\_i- yields a hidden states h\_1, ... h\_n- the last hidden state is fed into a decoder which yields y\_1, ... y\_n based on h\_n and the decoders hidden state d\_1, ... d\_n +Transformers draw upon attention rather than recurrence.- recurrence is replaced by a stack of encoders and decoders- input x\_1, ... x\_n is projected into three vector spaces: (i) query (decoder), (ii) keys, and (iii) values (encoder)- queries: features relevant to the previous decoder- dot product yields the similarity between the input and the query keys- exponential softmax function increases the gap between relevant keys and less relevant ones. + +Advantages of attention + +multiple forms of attention identify relevant tokens +faster than recurrent layers, when the input sequence is shorter than the context vector + +Types of attention + +self-attention: correlates positions within the same sequence (e.g., sentence) +multihead attention: each attention head yields different weights (i.e., focuses on a different aspect of the problem) similar to an ensemble model. + +Alternative approaches + +CNNs: more parallelized +multi-step attention: decoder receives a matrix of attention weights from the previous decoder and computes its own + +Unsupervised transformers + +unsupervised pre-training based on large corpora +semi-supervised approaches are fine-tuned on task-specific data (e.g., BERT) +task agnostic: use a single model architecture across all tasks (e.g. by using a delimiter between input and target for summarization or question answering tasks) +GPT2: model size should allow for task solving tasks without the fine-tuning step. + +Research directions + +commonsense learning- RNNs outperform transformers when sentence lengths differ too much (!)- combine knowledge graphs or knowledge distillation with unsupervised pre-training- apply data augmentation and increase data diversity instead of data volume (e.g., by paraphrasing sentences for question answering tasks) +multitask learning + +Enhancements + +Transformer-XL model: map longer dependencies among the input tokens by caching context representations +RoBERTa optimizations for BERT-based models: use bigger training batches and remove the next sentence prediction (NSP) step +XLNet: learns dependencies independent of the token order (i.e., sequence of tokens) +ALBERT:remove the number of parameters by sharing parameters across layers (smaller models but computationally more complex) +GPT-3: large-scale model with 175 billion parameters; produces news articles that are hard to distinguish from human-written text. + +Integrating domain knowledge + +should help in mapping meaning rather than "statistical" predictions +two approaches: + +knowledge graphs (leverage prior world knowledge that no longer needs to be stored in the model; reduces the attention search space; enables the ue of graph-based methods) +knowledge distillation (learn a compressed knowledge representation (student) from a huge (teacher model) while minimizing the performance loss- DistilBERT: 97 \% of model performance at 40\% of the size- Shallow models (shallow bidirectional LSTM achieves comparable results to ELMo with 1/100 of the parameters + + + +Interesting: models that draw upon background knowledge (e.g., Amnervaz et al. 2018)}, + file = {Reis et al. - 2021 - Transformers aftermath current research and risin.pdf:/home/albert/Zotero/storage/YPRNSTBE/Reis et al. - 2021 - Transformers aftermath current research and risin.pdf:application/pdf}, +} + +@article{ding_jel_2021, + title = {{JEL}: {Applying} {End}-to-{End} {Neural} {Entity} {Linking} in {JPMorgan} {Chase}}, + volume = {35}, + copyright = {Copyright (c) 2021 Association for the Advancement of Artificial Intelligence}, + issn = {2374-3468}, + shorttitle = {{JEL}}, + url = {https://ojs.aaai.org/index.php/AAAI/article/view/17796}, + language = {en}, + number = {17}, + urldate = {2021-06-03}, + journal = {Proceedings of the AAAI Conference on Artificial Intelligence}, + author = {Ding, Wanying and Chaudhri, Vinay K. and Chittar, Naren and Konakanchi, Krihshna}, + month = may, + year = {2021}, + note = {Number: 17}, + keywords = {business intelligence, Deep \& Wide Learning, Named entity linking}, + pages = {15301--15308}, + annote = {Summary +Named entity linking in the business domain is a challenging task, since most state of the art methods rely upon comprehensive context information (e.g., from Wikipedia) that is not available for many business entities. +This paper, therefore, addresses an end-to-end neural entity linking model (JEL) that uses minimal context information and margin loss to generate entity embeddings and a Wide \& Deep Learning model that draws upon these embeddings for entity linking. +Method +The authors use (i) spaCy for entity recognition and (ii) their method for linking to identified entities. +Entit Embedding +triple loss model that selects + +10 terms that are positive context examples for an entity, and +10 randomly selected negative examples (how representative are these examples; effectiveness?) + +to compute contextualized entity embeddings Enitity Linking + +Character matching: Wide Character Learning with subword information for matching entities (more effective than verbatim matching since it also considers typos) +Semantic matching: Use deep semantic embeddings to embed mentions based on the context into a vector. Compute the similarity between mention-vectors and entity-vectors based on Euclidean distance. + +Application +similar to WISDOM - identify businesses in financial news and propagate the impact of the coverage (e.g., financial difficulties) along the supply chain.}, + file = {Snapshot:/home/albert/Zotero/storage/53XPV5G9/17796.html:text/html;Ding et al. - 2021 - JEL Applying End-to-End Neural Entity Linking in .pdf:/home/albert/Zotero/storage/4KWA6M6F/Ding et al. - 2021 - JEL Applying End-to-End Neural Entity Linking in .pdf:application/pdf}, +} + +@article{fu_spanner_2021, + title = {{SpanNER}: {Named} {Entity} {Re}-/{Recognition} as {Span} {Prediction}}, + shorttitle = {{SpanNER}}, + url = {http://arxiv.org/abs/2106.00641}, + abstract = {Recent years have seen the paradigm shift of Named Entity Recognition (NER) systems from sequence labeling to span prediction. Despite its preliminary effectiveness, the span prediction model's architectural bias has not been fully understood. In this paper, we first investigate the strengths and weaknesses when the span prediction model is used for named entity recognition compared with the sequence labeling framework and how to further improve it, which motivates us to make complementary advantages of systems based on different paradigms. We then reveal that span prediction, simultaneously, can serve as a system combiner to re-recognize named entities from different systems' outputs. We experimentally implement 154 systems on 11 datasets, covering three languages, comprehensive results show the effectiveness of span prediction models that both serve as base NER systems and system combiners. We make all code and datasets available: {\textbackslash}url\{https://github.com/neulab/spanner\}, as well as an online system demo: {\textbackslash}url\{http://spanner.sh\}. Our model also has been deployed into the ExplainaBoard platform, which allows users to flexibly perform a system combination of top-scoring systems in an interactive way: {\textbackslash}url\{http://explainaboard.nlpedia.ai/leaderboard/task-ner/\}.}, + urldate = {2021-06-11}, + journal = {arXiv:2106.00641 [cs]}, + author = {Fu, Jinlan and Huang, Xuanjing and Liu, Pengfei}, + month = jun, + year = {2021}, + note = {arXiv: 2106.00641}, + keywords = {Computer Science - Computation and Language}, + annote = {Comment: Accepted by ACL 2021 (Main track)}, + file = {arXiv.org Snapshot:/home/albert/Zotero/storage/4LF375ZK/2106.html:text/html;Fu et al_2021_SpanNER.pdf:/home/albert/Zotero/storage/3IEZ8VGV/Fu et al_2021_SpanNER.pdf:application/pdf}, +} + +@article{convertino_usefulness_2018, + title = {The usefulness of listening social media for pharmacovigilance purposes: a systematic review}, + volume = {17}, + issn = {1744-764X}, + shorttitle = {The usefulness of listening social media for pharmacovigilance purposes}, + doi = {10.1080/14740338.2018.1531847}, + abstract = {INTRODUCTION: Social media mining could be a possible strategy to retrieve drug safety information. The mining of social media is a complex process under progressive evolution, falling into three broad categories: listening (safety data reporting), engaging (follow-up), and broadcasting (risk communication). This systematic review is aimed at evaluating the usefulness and quality of proto-signals by social media listening. Areas covered: In this systematic search, performed according to MOOSE and PRISMA statements, we selected studies, published in MEDLINE, EMBASE, and Google Scholar until 31 December 2017, that listened at least one social media to identify proto-adverse drug events and proto-signals. Expert opinion: The selected 38 studies identified serious and unexpected proto-adverse drug events characterized by poorer information quality as compared with spontaneous reporting databases. This feature allows rarely the evaluation of causal relationships. Proto-signals identified by social media listening had the potential of anticipating pre-specified known signals in only six studies. Moreover, the personal perception of patients reported in social media could be used to implement effective risk communication strategies. However, signal detection in social media cannot be currently recommended for routine pharmacovigilance, due to logistic and technical issues.}, + language = {eng}, + number = {11}, + journal = {Expert Opinion on Drug Safety}, + author = {Convertino, Irma and Ferraro, Sara and Blandizzi, Corrado and Tuccori, Marco}, + month = nov, + year = {2018}, + pmid = {30285501}, + keywords = {Adverse Drug Reaction Reporting Systems, Data Mining, Databases, Factual, Drug-Related Side Effects and Adverse Reactions, Humans, pharmacovigilance, Pharmacovigilance, proto-signal, signal detection, Social media, Social Media}, + pages = {1081--1093}, + file = {Convertino et al_2018_The usefulness of listening social media for pharmacovigilance purposes.pdf:/home/albert/Zotero/storage/TKI5AH7M/Convertino et al_2018_The usefulness of listening social media for pharmacovigilance purposes.pdf:application/pdf}, +} + +@article{harris_distributional_1954, + title = {Distributional {Structure}}, + volume = {10}, + issn = {0043-7956}, + url = {https://doi.org/10.1080/00437956.1954.11659520}, + doi = {10.1080/00437956.1954.11659520}, + number = {2-3}, + urldate = {2021-06-29}, + journal = {WORD}, + author = {Harris, Zellig S.}, + month = aug, + year = {1954}, + note = {Publisher: Routledge +\_eprint: https://doi.org/10.1080/00437956.1954.11659520}, + pages = {146--162}, + file = {Harris_1954_Distributional Structure.pdf:/home/albert/Zotero/storage/59ZE8S3N/Harris_1954_Distributional Structure.pdf:application/pdf;Snapshot:/home/albert/Zotero/storage/HTSHI7XH/00437956.1954.html:text/html}, +} diff --git a/docs/paper/paper.md b/docs/paper/paper.md new file mode 100644 index 0000000..d533802 --- /dev/null +++ b/docs/paper/paper.md @@ -0,0 +1,72 @@ +--- +title: 'Inscriptis - A Python-based HTML to text conversion library optimized for knowledge extraction from the Web' +tags: + - Python + - web mining + - knowledge extraction + - text conversion + - gold standard creation + - annotated text output +authors: + - name: Albert Weichselbraun + orcid: 0000-0001-6399-045X + affiliation: 1 +affiliations: + - name: University of Applied Sciences of the Grisons, Chur, Switzerland + index: 1 +date: 25 June 2021 +bibliography: paper.bib +--- + +# Summary + +``Inscriptis`` provides a library, command line client and Web service for converting HTML content to plain text. In contrast to existing software packages such as [HTML2text](https://github.com/Alir3z4/html2text/), [jusText](https://github.com/miso-belica/jusText/) and [Lynx](https://lynx.invisible-island.net/), it has been tailored towards knowledge extraction pipelines by + +1. providing a layout-aware conversion of textual output that more closely resembles the rendering obtained from standard Web browsers. ``Inscriptis`` excels in terms of conversion quality, since it correctly converts complex HTML constructs such as nested tables and also interprets a subset of HTML (e.g., `align`, `valign`) and CSS (e.g., `display`, `white-space`, `margin-top`, `vertical-algin`, etc.) attributes that determine the text alignment. + 2. supporting annotation rules, i.e., user-provided mappings that allow for annotating the extracted text based on structural and semantic information encoded in HTML tags and attributes used for controlling structure and layout in the original HTML document. + +These unique features ensure that downstream Knowledge Extraction components can operate on accurate text representations without drawing upon a heavyweight solution such as [Selenium](https://www.selenium.dev/) which requires interaction with a full-fledged Web browser. In addition, its optional annotation support enables downstream components to use information on the structure of the original HTML document. + + +# Statement of need + +Research in a growing number of scientific disciplines relies upon Web content. @li_effect_2014, for instance, studied the impact of company-specific News coverage on stock prices, in medicine and pharmacovigilance social media listening plays an important role in gathering insights into patient needs and the monitoring of adverse drug effects [@convertino_usefulness_2018], and communication sciences draw upon media coverage to obtain information on the perception and framing of issues as well as on the rise and fall of topics within News and social media [@scharl_semantic_2017; @weichselbraun_adapting_2021]. + +Computer science focuses on analyzing content by applying knowledge extraction techniques such as entity recognition [@fu_spanner_2021] to automatically identify entities (e.g., persons, organizations, locations, products, etc.) within text documents, entity linking [@ding_jel_2021] to link these entities to knowledge bases (e.g., Wikidata and DBPedia), and sentiment analysis to automatically assess sentiment polarity (i.e., positive versus negative coverage) and emotions expressed towards these entities [@wang_review_2020]. + +Most knowledge extraction methods operate on text and, therefore, require an accurate conversion of HTML content which also preserves the spatial alignment between text elements. This is particularly true for methods drawing upon algorithms which directly or indirectly leverage information on the proximity between terms, such as word embeddings [@mikolov_distributed_2013; @pennington_glove:_2014] and language models [@reis_transformers_2021], sentiment analysis which often also considers the distance between target and sentiment terms, and automatic keyword and phrase extraction techniques. + +Despite this need from within the research community, many standard HTML to text conversion techniques are not layout aware, yielding text representations that fail to preserve the spatial properties of text snippets, as illustrated below. + +![Text representation of a table from DBpedia computed by ``Inscriptis`` (left) and lynx (right). Lynx fails to correctly interpret the cascaded table and, therefore, does not properly align the temperature values.](images/inscriptis-vs-lynx.png) + +``Inscriptis`` is not only able to correctly render such pages but also offers the option to preserve parts of the original HTML document's semantics (e.g., information on headings, emphasised text, tables, etc.) by complementing the extracted text with annotations obtained from the document. \autoref{fig:annotations} provides an example of annotations extracted from a Wikipedia page. These annotations might be useful for + +- aiding downstream knowledge extraction components with additional information that may be leveraged to improve their respective performance. Text summarization techniques, for instance, can put a stronger emphasis on paragraphs that contain bold and italic text, and sentiment analysis may consider this information in addition to textual clues such as uppercase text. +- assisting manual document annotation processes (e.g., for qualitative analysis or gold standard creation). ``Inscripti``s supports multiple export formats such as XML, annotated HTML and the JSONL format that is used by the open source annotation tool [doccano](https://github.com/doccano/doccano)^[Please note that doccano currently does not support overlapping annotations and, therefore, cannot import files containing overlapping annotations.]. Support for further annotation formats can be easily added by implementing custom annotation processors. +- enabling the use of ``Inscriptis`` for tasks such as content extraction (i.e., extract task-specific relevant content from a Web page) which rely on information on the HTML document's structure. + +![Annotations extracted from the DBpedia entry for Chur using the ``--postprocessor html`` command line option.\label{fig:annotations}](images/annotations.png) + +In conclusion, ``Inscriptis`` provides knowledge extraction components with high quality conversions of HTML documents. +Since its first public release in March 2016, ``Inscriptis`` has been downloaded over 121,000 times from the Python Package Index (PyPI)^[Source: https://pepy.tech/project/inscriptis], has proven its capabilities in national and European research projects and has been integrated into commercial products such as the [webLyzard Web Intelligence and Visual Analytics Platform](https://www.weblyzard.com/visual-analytics-dashboard/). + + + +# Mentions + +The following research projects use ``Inscriptis`` within their knowledge extraction pipelines: + +- [CareerCoach](https://www.fhgr.ch/CareerCoach): Automatic Knowledge Extraction and Recommender Systems for Personalized Re- and Upskilling suggestions funded by Innosuisse. +- [EPOCH project](https://www.epoch-project.eu) funded by the Austrian Federal Ministry for Climate Action, Environment, Energy, Mobility and Technology (BMK) via the ICT of the Future Program. +- [MedMon](https://www.fhgr.ch/medmon): Monitoring of Internet Resources for Pharamceutical Research and Development funded by Innosuisse. +- [ReTV project](https://www.retv-project.eu) funded by the European Union’s Horizon 2020 Research and Innovation Programme. + + +# Acknowledgements + +Work on ``Inscriptis`` has been conducted within the MedMon and CareerCoach projects funded by Innosuisse. + + +# References + diff --git a/docs/paper/paper.pdf b/docs/paper/paper.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c4cfca4cc511f6b10da853a2d32d0a109a93bd99 GIT binary patch literal 298606 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

>{fs=Avp&&z;L3*oK&Z;q~1 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

  • l9S@s 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

    l~85se${s`U~yT++3}D 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. -Example:: +.. code:: import urllib.request from inscriptis import get_text @@ -17,52 +21,114 @@ print(text) -""" +Use the method :meth:`~inscriptis.get_annotated_text` to obtain text and +annotations. The method requires annotation rules as described in annotations_. -__author__ = 'Albert Weichselbraun, Fabian Odoni' -__author_email__ = 'albert.weichselbraun@fhgr.ch, fabian.odoni@fhgr.ch' -__copyright__ = '2016-2021 Albert Weichselbraun, Fabian Odoni' -__license__ = 'Apache 2.0' -__version__ = '1.2' +.. code:: + import urllib.request + from inscriptis import get_annotated_text -try: - import re - from lxml.html import fromstring + url = "https://www.fhgr.ch" + html = urllib.request.urlopen(url).read().decode('utf-8') - from inscriptis.html_engine import Inscriptis + # annotation rules specify the HTML elements and attributes to annotate. + rules = {'h1': ['heading'], + 'h2': ['heading'], + '#class=FactBox': ['fact-box'], + 'i': ['emphasis']} -except ImportError: - import warnings - warnings.warn( - "Missing dependencies - inscriptis has not been properly installed") + output = get_annotated_text(html, ParserConfig(annotation_rules=rules) + print("Text:", output['text']) + print("Annotations:", output['label']) +The method returns a dictionary with two keys: -RE_STRIP_XML_DECLARATION = re.compile(r'^<\?xml [^>]+?\?>') + 1. `text` which contains the page's plain text and + 2. `label` with the annotations in JSONL format that is used by annotators + such as `doccano `_. +Annotations in the `label` field are returned as a list of triples with + `start index`, `end index` and `label` as indicated below: + +.. code-block:: json + + {"text": "Chur\n\nChur is the capital and largest town of the Swiss canton + of the Grisons and lies in the Grisonian Rhine Valley.", + "label": [[0, 4, "heading"], [6, 10, "emphasis"]]} + +""" + +import re +import lxml.html + +from typing import Dict, Optional, Any + +from inscriptis.model.config import ParserConfig +from inscriptis.html_engine import Inscriptis + +RE_STRIP_XML_DECLARATION = re.compile(r'^<\?xml [^>]+?\?>') -def get_text(html_content, config=None): - """ - Converts an HTML string to text, optionally including and deduplicating - image captions, displaying link targets and using either the standard - or extended indentation strategy. +def _get_html_tree(html_content: str) -> Optional[lxml.html.HtmlElement]: + """Obtain the HTML parse tree for the given HTML content. Args: - html_content (str): the HTML string to be converted to text. - config: An optional ParserConfig object. + html_content: The content to parse. Returns: - str -- The text representation of the HTML content. + The corresponding HTML parse tree. """ html_content = html_content.strip() if not html_content: - return '' + return None # strip XML declaration, if necessary if html_content.startswith(' str: + """Provide a text representation of the given HTML content. + + Args: + html_content (str): The HTML content to convert. + config: An optional ParserConfig object. + + Returns: + The text representation of the HTML content. + """ + html_tree = _get_html_tree(html_content) + return Inscriptis(html_tree, config).get_text() if html_tree is not None \ + else '' + + +def get_annotated_text(html_content: str, + config: ParserConfig = None) -> Dict[str, Any]: + """Return a dictionary of the extracted text and annotations. + + Notes: + - the text is stored under the key 'text'. + - annotations are provided under the key 'label' which contains a + list of :class:`Annotation`s. + + Examples: + {"text": "EU rejects German call to boycott British lamb.", " + label": [ [0, 2, "strong"], ... ]} + {"text": "Peter Blackburn", + "label": [ [0, 15, "heading"] ]} + + Returns: + A dictionary of text (key: 'text') and annotations (key: 'label') + """ + html_tree = _get_html_tree(html_content) + if html_tree is None: + return {} + + inscriptis = Inscriptis(html_tree, config) + labels = [(a.start, a.end, a.metadata) + for a in inscriptis.get_annotations()] + return {'text': inscriptis.get_text(), + 'label': labels} diff --git a/src/inscriptis/annotation/__init__.py b/src/inscriptis/annotation/__init__.py new file mode 100644 index 0000000..3d2b626 --- /dev/null +++ b/src/inscriptis/annotation/__init__.py @@ -0,0 +1,60 @@ +"""The model used for saving annotations.""" + +from typing import NamedTuple, Tuple +from typing import List + +from inscriptis.html_properties import HorizontalAlignment + + +class Annotation(NamedTuple): + """An Inscriptis annotation which provides metadata on the extracted text. + + The :attr:`start` and :attr:`end` indices indicate the span of the text + to which the metadata refers, and the attribute :attr:`metadata` contains + the tuple of tags describing this span. + + Example:: + + Annotation(0, 10, ('heading', )) + + The annotation above indicates that the text span between the 1st (index 0) + and 11th (index 10) character of the extracted text contains a *heading*. + """ + + start: int + """the annotation's start index within the text output.""" + end: int + """the annotation's end index within the text output.""" + metadata: Tuple[str] + """a tuple of tags to be attached to the annotation.""" + + +def horizontal_shift(annotations: List[Annotation], content_width: int, + line_width: int, align: HorizontalAlignment, + shift: int = 0) -> List[Annotation]: + r"""Shift annotations based on the given line's formatting. + + Adjusts the start and end indices of annotations based on the line's + formatting and width. + + Args: + annotations: a list of Annotations. + content_width: the width of the actual content + line_width: the width of the line in which the content is placed. + align: the horizontal alignment (left, right, center) to assume for + the adjustment + shift: an optional additional shift + + Returns: + A list of :class:`Annotation`\s with the adjusted start and end + positions. + """ + if align == HorizontalAlignment.left: + h_align = shift + elif align == HorizontalAlignment.right: + h_align = shift + line_width - content_width + else: + h_align = shift + (line_width - content_width) // 2 + + return [Annotation(a.start + h_align, a.end + h_align, a.metadata) + for a in annotations] diff --git a/src/inscriptis/annotation/output/__init__.py b/src/inscriptis/annotation/output/__init__.py new file mode 100644 index 0000000..41a7fb2 --- /dev/null +++ b/src/inscriptis/annotation/output/__init__.py @@ -0,0 +1,45 @@ +r""":class:`AnnotationProcessor`\s transform annotations to an output format. + +All AnnotationProcessor's implement the :class:`AnnotationProcessor` interface +by overwrite the class's :meth:`AnnotationProcessor.__call__` method. + +.. note:: + 1. The AnnotationExtractor class must be put into a package with the + extractor's name (e.g., :mod:`inscriptis.annotation.output.*package*`) + and be named :class:`*PackageExtractor*` (see the examples below). + 2. The overwritten :meth:`__call__` method may either extend the original + dictionary which contains the extracted text and annotations (e.g., + :class:`~inscriptis.annotation.output.surface.SurfaceExtractor`) or + may replace it with an custom output (e.g., + :class:`~inscriptis.annotation.output.html.HtmlExtractor` and + :class:`~inscriptis.annotation.output.xml.XmlExtractor`. + +Currently, Inscriptis supports the following built-in AnnotationProcessors: + + 1. :class:`~inscriptis.annotation.output.html.HtmlExtractor` provides an + annotated HTML output format. + 2. :class:`~inscriptis.annotation.output.xml.XmlExtractor` yields an output + which marks annotations with XML tags. + 3. :class:`~inscriptis.annotation.output.surface.SurfaceExtractor` adds the + key `surface` to the result dictionary which contains the surface forms + of the extracted annotations. + +""" +from typing import Dict, Any + + +class AnnotationProcessor: + """An AnnotationProcessor is called for formatting annotations.""" + + def __call__(self, annotated_text: Dict[str, str]) -> Any: + """Format the given text and annotations. + + Args: + annotated_text: a dictionary that contains the converted text and + all annotations that have been found. + + Returns: + An output representation that has been changed according to the + AnnotationProcessor's design. + """ + raise NotImplementedError diff --git a/src/inscriptis/annotation/output/html.py b/src/inscriptis/annotation/output/html.py new file mode 100644 index 0000000..310f935 --- /dev/null +++ b/src/inscriptis/annotation/output/html.py @@ -0,0 +1,103 @@ +"""HTML Annotation Processor.""" +from collections import defaultdict +from itertools import cycle +from typing import Dict, Any, List + +from inscriptis.annotation.output import AnnotationProcessor + +COLOR_SCHEMA = ('#D8115980', '#8F2D5680', '#21838080', + '#FBB13C80', '#73D2DE80') + + +class HtmlExtractor(AnnotationProcessor): + """Provides an HTML version of the extracted text. + + The generated HTML colors annotations based on the COLOR_SCHEMA + constant. + """ + + verbatim = True + + def __call__(self, annotated_text: Dict[str, Any]) -> str: + tag_indices = defaultdict(list) + + for start, end, label in sorted(annotated_text['label']): + tag_indices[start].append(label) + tag_indices[end].append('/' + label) + + open_tags = [] + tagged_content = ['

    ']
    +        for idx, ch in enumerate(annotated_text['text']):
    +            if idx in tag_indices:
    +                tags = tag_indices[idx]
    +                # close tags:
    +                for _ in (t for t in sorted(tags, reverse=True)
    +                          if t.startswith('/')):
    +                    open_tags.pop()
    +                    tagged_content.append('')
    +                # open tags
    +                for tag in (t for t in sorted(tags, reverse=True)
    +                            if not t.startswith('/')):
    +                    open_tags.append(tag)
    +                    tagged_content.append(
    +                        '{tag}'
    +                        ''.format(tag=tag))
    +
    +            if ch == '\n':
    +                tagged_content.extend(['' for _ in open_tags])
    +                tagged_content.append('
    \n
    ')
    +                tagged_content.extend([''.format(tag=tag)
    +                                       for tag in open_tags])
    +            else:
    +                tagged_content.append(ch)
    +
    +        return ''.join(tagged_content) + '
    ' + + @staticmethod + def _get_label_colors(labels: List[str]) -> Dict[str, str]: + """Compute the mapping between annotation labels and colors. + + The used color schema is available in the global variable COLOR_SCHEMA. + + Args: + labels: a list of the annotations classes (e.g., heading, etc.) + that need to be color-coded. + Returns: + A mapping between the available labels and the corresponding color + from the COLOR_SCHEMA. + """ + return {label: color + for label, color in zip({a[2] for a in sorted(labels)}, + cycle(COLOR_SCHEMA))} + + def _get_css(self, labels: List[str]) -> str: + """Compute the CSS to be included into the HTML output. + + Args: + labels: a list of the annotations classes (e.g., heading, etc.) + that need to be color-coded. + + Returns: + A string containing the CSS to be embedded into the HTML output. + + """ + css = [] + for label, color in sorted(self._get_label_colors(labels).items()): + css.append( + 'pre{{' + ' position: relative;\n' + '}}\n' + '.{label} {{\n' + ' background-color: {color};\n' + ' border-radius: 0.4em;\n' + '}}\n' + '.{label}-label {{\n' + ' top: -1.0em;\n' + ' content: "{label}";\n' + ' position: absolute;\n' + ' background-color: {color};\n' + ' font-size: 75%; }}\n'.format(label=label, + color=color)) + return '\n'.join(css) diff --git a/src/inscriptis/annotation/output/surface.py b/src/inscriptis/annotation/output/surface.py new file mode 100644 index 0000000..52472d4 --- /dev/null +++ b/src/inscriptis/annotation/output/surface.py @@ -0,0 +1,27 @@ +"""Surface Form Annotation Processor.""" +from typing import Dict, Any + +from inscriptis.annotation.output import AnnotationProcessor + + +class SurfaceExtractor(AnnotationProcessor): + """Extracts the surface form of all annotated labels.""" + + verbatim = False + + def __call__(self, annotated_text: Dict[str, Any]) -> Dict[str, Any]: + """ + Add information on the surface forms to the annotated_text dictionary. + + Args: + annotated_text: a dictionary containing the plain text and the + extracted annotations. + + Returns: + An extended dictionary which contains the extracted surface-forms + of the annotations under the key 'surface'. + """ + surface_forms = [(label, annotated_text['text'][start:end]) + for start, end, label in annotated_text['label']] + annotated_text['surface'] = surface_forms + return annotated_text diff --git a/src/inscriptis/annotation/output/xml.py b/src/inscriptis/annotation/output/xml.py new file mode 100644 index 0000000..6e07f90 --- /dev/null +++ b/src/inscriptis/annotation/output/xml.py @@ -0,0 +1,44 @@ +"""XML Annotation processor.""" +from collections import defaultdict +from typing import Dict, Any + +from inscriptis.annotation.output import AnnotationProcessor + + +class XmlExtractor(AnnotationProcessor): + """Provide the converted text with XML-style annotations.""" + + verbatim = True + + def __call__(self, annotated_text: Dict[str, Any]) -> str: + """Provide an XML version of the given text and annotations. + + Args: + annotated_text: a dictionary containing the plain text and the + extracted annotations. + + Returns: + A string with the XML-version of the content. + """ + tag_indices = defaultdict(list) + + for start, end, label in sorted(annotated_text['label']): + tag_indices[start].append(label) + tag_indices[end].append('/' + label) + + current_idx = 0 + tagged_content = [''] + text = annotated_text['text'] + for index, tags in sorted(tag_indices.items()): + tagged_content.append(text[current_idx:index]) + # close tags + tagged_content.extend(['<' + tag + '>' + for tag in sorted(tags, reverse=True) + if tag.startswith('/')]) + # open tags + tagged_content.extend(['<' + tag + '>' for tag in sorted(tags) + if not tag.startswith('/')]) + current_idx = index + tagged_content.append(text[current_idx:]) + + return ''.join(tagged_content) diff --git a/src/inscriptis/annotation/parser.py b/src/inscriptis/annotation/parser.py new file mode 100644 index 0000000..500df4f --- /dev/null +++ b/src/inscriptis/annotation/parser.py @@ -0,0 +1,101 @@ +"""Parse annotation configuration files. + +Annotation configuration files contain a dictionary that maps tags and +attributes to the corresponding annotation. + + - tags are referenced by their name + - attributes by a `#` (e.g., `#class`) and an optional selector (e.g., + `#class=short-description`) + +Example:: + + { + "h1": ["heading"], + "b": ["emphasis"], + "div#class=toc": ["table-of-contents"], + "#class=short-description]": ["description"] + } +""" +from collections import defaultdict +from copy import copy + +from inscriptis.model.html_element import HtmlElement, DEFAULT_HTML_ELEMENT + + +class ApplyAnnotation: + """Apply an Annotation to the given attribute. + + Arguments: + annotations: a tuple of annotations to be applied to the attribute. + attr: the name of the attribute. + match_tag: only apply annotations to attributes that belong to the + given match_tag. + match_value: only apply annotations to attribute with the given + match_value. + """ + + __slots__ = ('annotations', 'match_tag', 'match_value', 'attr', 'matcher') + + def __init__(self, annotations: tuple, attr: str, match_tag: str = None, + match_value: str = None): + self.annotations = tuple(annotations) + self.attr = attr + self.match_tag = match_tag + self.match_value = match_value + + def apply(self, attr_value: str, html_element: HtmlElement): + """Apply the annotation to HtmlElements with matching tags.""" + if (self.match_tag and self.match_tag != html_element.tag) or ( + self.match_value and self.match_value + not in attr_value.split()): + return + + html_element.annotation += self.annotations + + def __str__(self): + return ' 'AnnotationModel': + """Compute the AnnotationModel from a model dictionary. + + Returns: + the AnnotationModel matching the input dictionary. + """ + tags = defaultdict(list) + attrs = [] + for key, annotations in model.items(): + if '#' in key: + tag, attr = key.split('#') + if '=' in attr: + attr, value = attr.split('=') + else: + value = None + attrs.append(ApplyAnnotation(annotations, attr, + tag, value)) + else: + tags[key].extend(annotations) + return tags, attrs diff --git a/src/inscriptis/css_profiles.py b/src/inscriptis/css_profiles.py index 3b4c084..48bb660 100644 --- a/src/inscriptis/css_profiles.py +++ b/src/inscriptis/css_profiles.py @@ -1,7 +1,6 @@ #!/usr/bin/env python3 # coding: utf-8 -""" -Standard CSS profiles shipped with inscriptis. +"""Standard CSS profiles shipped with inscriptis. - `strict`: this profile corresponds to the defaults used by Firefox - `relaxed`: this profile is more suited for text analytics, since it ensures @@ -9,74 +8,75 @@ preventing cases where two words stick together. """ -from inscriptis.model.css import HtmlElement +from inscriptis.model.html_element import HtmlElement from inscriptis.html_properties import Display, WhiteSpace STRICT_CSS_PROFILE = { - 'body': HtmlElement('body', display=Display.inline, + 'body': HtmlElement(display=Display.inline, whitespace=WhiteSpace.normal), - 'head': HtmlElement('head', display=Display.none), - 'link': HtmlElement('link', display=Display.none), - 'meta': HtmlElement('meta', display=Display.none), - 'script': HtmlElement('script', display=Display.none), - 'title': HtmlElement('title', display=Display.none), - 'style': HtmlElement('style', display=Display.none), + 'head': HtmlElement(display=Display.none), + 'link': HtmlElement(display=Display.none), + 'meta': HtmlElement(display=Display.none), + 'script': HtmlElement(display=Display.none), + 'title': HtmlElement(display=Display.none), + 'style': HtmlElement(display=Display.none), - 'p': HtmlElement('p', display=Display.block, margin_before=1, + 'p': HtmlElement(display=Display.block, margin_before=1, margin_after=1), - 'figure': HtmlElement('figure', display=Display.block, margin_before=1, + 'figure': HtmlElement(display=Display.block, margin_before=1, margin_after=1), - 'h1': HtmlElement('h1', display=Display.block, margin_before=1, + 'h1': HtmlElement(display=Display.block, margin_before=1, margin_after=1), - 'h2': HtmlElement('h2', display=Display.block, margin_before=1, + 'h2': HtmlElement(display=Display.block, margin_before=1, margin_after=1), - 'h3': HtmlElement('h3', display=Display.block, margin_before=1, + 'h3': HtmlElement(display=Display.block, margin_before=1, margin_after=1), - 'h4': HtmlElement('h4', display=Display.block, margin_before=1, + 'h4': HtmlElement(display=Display.block, margin_before=1, margin_after=1), - 'h5': HtmlElement('h5', display=Display.block, margin_before=1, + 'h5': HtmlElement(display=Display.block, margin_before=1, margin_after=1), - 'h6': HtmlElement('h6', display=Display.block, margin_before=1, + 'h6': HtmlElement(display=Display.block, margin_before=1, margin_after=1), - 'ul': HtmlElement('ul', display=Display.block, margin_before=0, - margin_after=0, padding=4), - 'ol': HtmlElement('ol', display=Display.block, margin_before=0, - margin_after=0, padding=4), - 'li': HtmlElement('li', display=Display.block), + 'ul': HtmlElement(display=Display.block, margin_before=0, + margin_after=0, padding_inline=4), + 'ol': HtmlElement(display=Display.block, margin_before=0, + margin_after=0, padding_inline=4), + 'li': HtmlElement(display=Display.block), - 'address': HtmlElement('address', display=Display.block), - 'article': HtmlElement('article', display=Display.block), - 'aside': HtmlElement('aside', display=Display.block), - 'div': HtmlElement('div', display=Display.block), - 'footer': HtmlElement('footer', display=Display.block), - 'header': HtmlElement('header', display=Display.block), - 'hgroup': HtmlElement('hgroup', display=Display.block), - 'layer': HtmlElement('layer', display=Display.block), - 'main': HtmlElement('main', display=Display.block), - 'nav': HtmlElement('nav', display=Display.block), - 'figcaption': HtmlElement('figcaption', display=Display.block), + 'address': HtmlElement(display=Display.block), + 'article': HtmlElement(display=Display.block), + 'aside': HtmlElement(display=Display.block), + 'div': HtmlElement(display=Display.block), + 'footer': HtmlElement(display=Display.block), + 'header': HtmlElement(display=Display.block), + 'hgroup': HtmlElement(display=Display.block), + 'layer': HtmlElement(display=Display.block), + 'main': HtmlElement(display=Display.block), + 'nav': HtmlElement(display=Display.block), + 'figcaption': HtmlElement(display=Display.block), - 'blockquote': HtmlElement('blockquote', display=Display.block), + 'blockquote': HtmlElement(display=Display.block), - 'q': HtmlElement('q', prefix='"', suffix='"'), + 'q': HtmlElement(prefix='"', suffix='"'), # Handling of
    -    'pre': HtmlElement('pre', display=Display.block,
    +    'pre': HtmlElement(display=Display.block,
                            whitespace=WhiteSpace.pre),
    -    'xmp': HtmlElement('xmp', display=Display.block,
    +    'xmp': HtmlElement(display=Display.block,
                            whitespace=WhiteSpace.pre),
    -    'listing': HtmlElement('listing', display=Display.block,
    +    'listing': HtmlElement(display=Display.block,
                                whitespace=WhiteSpace.pre),
    -    'plaintext': HtmlElement('plaintext', display=Display.block,
    +    'plaintext': HtmlElement(display=Display.block,
                                  whitespace=WhiteSpace.pre),
    +
     }
     
     RELAXED_CSS_PROFILE = STRICT_CSS_PROFILE.copy()
    -RELAXED_CSS_PROFILE['div'] = HtmlElement('div', display=Display.block,
    -                                         padding=2)
    -RELAXED_CSS_PROFILE['span'] = HtmlElement('span', display=Display.inline,
    +RELAXED_CSS_PROFILE['div'] = HtmlElement(display=Display.block,
    +                                         padding_inline=2)
    +RELAXED_CSS_PROFILE['span'] = HtmlElement(display=Display.inline,
                                               prefix=' ', suffix=' ',
                                               limit_whitespace_affixes=True)
     
    diff --git a/src/inscriptis/html_engine.py b/src/inscriptis/html_engine.py
    index 1587510..595c61d 100644
    --- a/src/inscriptis/html_engine.py
    +++ b/src/inscriptis/html_engine.py
    @@ -1,27 +1,19 @@
     #!/usr/bin/env python
     # coding:utf-8
    -"""
    -The HTML Engine is responsible for converting HTML to text.
    +"""The HTML Engine is responsible for converting HTML to text."""
    +from typing import List
     
    -Guiding principles:
    +import lxml.html
     
    - 1. break lines only if we encounter a block element
    -"""
    -from itertools import chain
    -from html import unescape
    -
    -from inscriptis.model.attribute import apply_attributes
    -from inscriptis.model.css import HtmlElement
    -from inscriptis.model.canvas import Line
    +from inscriptis.annotation import Annotation
    +from inscriptis.model.html_element import DEFAULT_HTML_ELEMENT
    +from inscriptis.model.canvas import Canvas
     from inscriptis.model.config import ParserConfig
    -from inscriptis.model.table import Table
    -from inscriptis.html_properties import Display, WhiteSpace
    +from inscriptis.model.table import Table, TableCell
     
     
     class Inscriptis:
    -    """
    -    The Inscriptis class translates an lxml HTML tree to the corresponding
    -    text representation.
    +    """Translate an lxml HTML tree to the corresponding text representation.
     
         Args:
           html_tree: the lxml HTML tree to convert.
    @@ -45,9 +37,8 @@ class Inscriptis:
         UL_COUNTER = ('* ', '+ ', 'o ', '- ')
         UL_COUNTER_LEN = len(UL_COUNTER)
     
    -    DEFAULT_ELEMENT = HtmlElement()
    -
    -    def __init__(self, html_tree, config=None):
    +    def __init__(self, html_tree: lxml.html.HtmlElement,
    +                 config: ParserConfig = None):
             # use the default configuration, if no config object is provided
             self.config = config or ParserConfig()
     
    @@ -74,19 +65,13 @@ def __init__(self, html_tree, config=None):
             }
     
             # instance variables
    -        self.current_tag = [self.config.css['body']]
    -        self.current_line = [Line()]
    -        self.next_line = [Line()]
    -
    -        # the canvases used for displaying text
    -        # clean_text_line[0] refers to the root canvas; tables write into child
    -        # canvases that are created for every table line and merged with the
    -        # root canvas at the end of a table
    -        self.clean_text_lines = [[]]
    +        self.canvas = Canvas()
    +        self.css = self.config.css
    +        self.apply_attributes = self.config.attribute_handler.apply_attributes
     
    +        self.tags = [self.css['body'].set_canvas(self.canvas)]
             self.current_table = []
             self.li_counter = []
    -        self.li_level = 0
             self.last_caption = None
     
             # used if display_links is enabled
    @@ -94,157 +79,91 @@ def __init__(self, html_tree, config=None):
     
             # crawl the html tree
             self._parse_html_tree(html_tree)
    -        if self.current_line[-1]:
    -            self._write_line()
     
         def _parse_html_tree(self, tree):
    -        """
    -        Parses the HTML tree.
    +        """Parse the HTML tree.
     
             Args:
                 tree: the HTML tree to parse.
             """
    -        if isinstance(tree.tag, str):
    -            self.handle_starttag(tree.tag, tree.attrib)
    -            if tree.text:
    -                self.handle_data(tree.text)
    +        # ignore comments
    +        if not isinstance(tree.tag, str):
    +            return
     
    -            for node in tree:
    -                self._parse_html_tree(node)
    +        self.handle_starttag(tree.tag, tree.attrib)
    +        cur = self.tags[-1]
    +        cur.canvas.open_tag(cur)
     
    -            self.handle_endtag(tree.tag)
    +        self.tags[-1].write(tree.text)
     
    -        if tree.tail:
    -            self.handle_data(tree.tail)
    +        for node in tree:
    +            self._parse_html_tree(node)
     
    -    def get_text(self):
    -        """
    -        Returns:
    -          str -- A text representation of the parsed content.
    -        """
    -        return unescape('\n'.join(chain(*self.clean_text_lines))).rstrip()
    +        self.handle_endtag(tree.tag)
    +        prev = self.tags.pop()
    +        prev.canvas.close_tag(prev)
     
    -    def _write_line(self, force=False):
    -        """
    -        Writes the current line to the buffer, provided that there is any
    -        data to write.
    +        # write the tail text to the element's container
    +        self.tags[-1].write_tail(tree.tail)
     
    -        Returns:
    -          bool -- True, if a line has been writer, otherwise False.
    -        """
    -        # only write the line if it contains relevant content
    -        if not force and (not self.current_line[-1].content
    -                          or self.current_line[-1].content.isspace()):
    -            self.current_line[-1].margin_before = \
    -                max(self.current_line[-1].margin_before,
    -                    self.current_tag[-1].margin_before)
    -            return False
    -
    -        line = self.current_line[-1].get_text()
    -        self.clean_text_lines[-1].append(line)
    -        self.current_line[-1] = self.next_line[-1]
    -        self.next_line[-1] = Line()
    -        return True
    -
    -    def _write_line_verbatim(self, text):
    -        """
    -        Writes the current buffer without any modifications.
    +    def get_text(self) -> str:
    +        """Return the text extracted from the HTML page."""
    +        return self.canvas.get_text()
     
    -        Args:
    -          text (str): the text to write.
    -        """
    -        self.clean_text_lines[-1].append(text)
    +    def get_annotations(self) -> List[Annotation]:
    +        """Return the annotations extracted from the HTML page."""
    +        return self.canvas.annotations
     
         def handle_starttag(self, tag, attrs):
    -        """
    -        Handles HTML start tags.
    +        """Handle HTML start tags.
    +
    +        Compute the style of the current :class:`HtmlElement`, based on
    +
    +        1. the used :attr:`css`,
    +        2. apply attributes and css with :meth:`~Attribute.apply_attributes`
    +        3. add the `HtmlElement` to the list of open tags.
    +
    +        Lookup and apply and tag-specific start tag handler in
    +        :attr:`start_tag_handler_dict`.
     
             Args:
    -          tag (str): the HTML start tag to process.
    -          attrs (dict): a dictionary of HTML attributes and their respective
    -             values.
    +          tag: the HTML start tag to process.
    +          attrs: a dictionary of HTML attributes and their respective values.
             """
             # use the css to handle tags known to it :)
    -
    -        cur = self.current_tag[-1].get_refined_html_element(
    -            self.config.css.get(tag, Inscriptis.DEFAULT_ELEMENT))
    -        apply_attributes(attrs, html_element=cur)
    -        self.current_tag.append(cur)
    -
    -        self.next_line[-1].padding = self.current_line[-1].padding \
    -            + cur.padding
    -        # flush text before display:block elements
    -        if cur.display == Display.block:
    -            if not self._write_line():
    -                self.current_line[-1].margin_before = 0 \
    -                    if not self.clean_text_lines[0] else max(
    -                        self.current_line[-1].margin_before, cur.margin_before)
    -                self.current_line[-1].padding = self.next_line[-1].padding
    -            else:
    -                self.current_line[-1].margin_after = max(
    -                    self.current_line[-1].margin_after, cur.margin_after)
    +        cur = self.tags[-1].get_refined_html_element(
    +            self.apply_attributes(attrs, html_element=self.css.get(
    +                tag, DEFAULT_HTML_ELEMENT).__copy__().set_tag(tag)))
    +        self.tags.append(cur)
     
             handler = self.start_tag_handler_dict.get(tag, None)
             if handler:
                 handler(attrs)
     
         def handle_endtag(self, tag):
    -        """
    -        Handles HTML end tags.
    +        """Handle HTML end tags.
    +
    +        Look up the handler for closing the tag in :attr:`end_tag_handler_dict`
    +        and execute it, if available.
     
             Args:
    -          tag(str): the HTML end tag to process.
    +          tag: the HTML end tag to process.
             """
    -        cur = self.current_tag.pop()
    -        self.next_line[-1].padding = self.current_line[-1].padding \
    -            - cur.padding
    -        self.current_line[-1].margin_after = max(
    -            self.current_line[-1].margin_after, cur.margin_after)
    -        # flush text after display:block elements
    -        if cur.display == Display.block:
    -            # propagate the new padding to the current line, if nothing has
    -            # been written
    -            if not self._write_line():
    -                self.current_line[-1].padding = self.next_line[-1].padding
    -
             handler = self.end_tag_handler_dict.get(tag, None)
             if handler:
                 handler()
     
    -    def handle_data(self, data):
    -        """
    -        Handles text belonging to HTML tags.
    -
    -        Args:
    -          data (str): The text to process.
    -        """
    -        if self.current_tag[-1].display == Display.none:
    -            return
    -
    -        # protect pre areas
    -        if self.current_tag[-1].whitespace == WhiteSpace.pre:
    -            data = '\0' + data + '\0'
    -
    -        # add prefix, if present
    -        data = self.current_tag[-1].prefix + data + self.current_tag[-1].suffix
    -
    -        # determine whether to add this content to a table column
    -        # or to a standard line
    -        self.current_line[-1].content += data
    -
    -    def _start_ul(self, attrs):
    -        self.li_level += 1
    -        self.li_counter.append(Inscriptis.get_bullet(self.li_level - 1))
    +    def _start_ul(self, _):
    +        self.li_counter.append(self.get_bullet())
     
         def _end_ul(self):
    -        self.li_level -= 1
             self.li_counter.pop()
     
         def _start_img(self, attrs):
             image_text = attrs.get('alt', '') or attrs.get('title', '')
             if image_text and not (self.config.deduplicate_captions
                                    and image_text == self.last_caption):
    -            self.current_line[-1].content += '[{0}]'.format(image_text)
    +            self.tags[-1].write('[{0}]'.format(image_text))
                 self.last_caption = image_text
     
         def _start_a(self, attrs):
    @@ -255,85 +174,80 @@ def _start_a(self, attrs):
                 self.link_target = self.link_target or attrs.get('name', '')
     
             if self.link_target:
    -            self.current_line[-1].content += '['
    +            self.tags[-1].write('[')
     
         def _end_a(self):
             if self.link_target:
    -            self.current_line[-1].content += ']({0})'.format(self.link_target)
    +            self.tags[-1].write(']({0})'.format(self.link_target))
     
    -    def _start_ol(self, attrs):
    +    def _start_ol(self, _):
             self.li_counter.append(1)
    -        self.li_level += 1
     
         def _end_ol(self):
    -        self.li_level -= 1
             self.li_counter.pop()
     
    -    def _start_li(self, attrs):
    -        self._write_line()
    -        if self.li_level > 0:
    -            bullet = self.li_counter[-1]
    -        else:
    -            bullet = "* "
    +    def _start_li(self, _):
    +        bullet = self.li_counter[-1] if self.li_counter else '* '
             if isinstance(bullet, int):
                 self.li_counter[-1] += 1
    -            self.current_line[-1].list_bullet = "{0}. ".format(bullet)
    +            self.tags[-1].list_bullet = '{0}. '.format(bullet)
             else:
    -            self.current_line[-1].list_bullet = bullet
    +            self.tags[-1].list_bullet = bullet
     
    -    def _start_table(self, attrs):
    -        self.current_table.append(Table())
    +        self.tags[-1].write('')
     
    -    def _start_tr(self, attrs):
    -        if self.current_table:
    -            # check whether we need to cleanup a  tag that has not been
    -            # closed yet
    -            if self.current_table[-1].td_is_open:
    -                self._end_td()
    +    def _start_table(self, _):
    +        self.tags[-1].set_canvas(Canvas())
    +        self.current_table.append(Table(
    +            left_margin_len=self.tags[-1].canvas.left_margin))
     
    +    def _start_tr(self, _):
    +        if self.current_table:
                 self.current_table[-1].add_row()
     
    -    def _start_td(self, attrs):
    +    def _start_td(self, _):
             if self.current_table:
    -            # check whether we need to cleanup a  tag that has not been
    -            # closed yet
    -            if self.current_table[-1].td_is_open:
    -                self._end_td()
    -
                 # open td tag
    -            self.clean_text_lines.append([])
    -            self.current_line.append(Line())
    -            self.next_line.append(Line())
    -            self.current_table[-1].add_cell(self.clean_text_lines[-1],
    -                                            align=self.current_tag[-1].align,
    -                                            valign=self.current_tag[-1].valign)
    -            self.current_table[-1].td_is_open = True
    +            table_cell = TableCell(align=self.tags[-1].align,
    +                                   valign=self.tags[-1].valign)
    +            self.tags[-1].canvas = table_cell
    +            self.current_table[-1].add_cell(table_cell)
     
         def _end_td(self):
    -        if self.current_table and self.current_table[-1].td_is_open:
    -            self.current_table[-1].td_is_open = False
    -            self._write_line(force=True)
    -            self.clean_text_lines.pop()
    -            self.current_line.pop()
    -            self.next_line.pop()
    -
    -    def _end_tr(self):
    -        pass
    +        if self.current_table:
    +            self.tags[-1].canvas.close_tag(self.tags[-1])
     
         def _end_table(self):
    -        if self.current_table and self.current_table[-1].td_is_open:
    +        if self.current_table:
                 self._end_td()
    -        self._write_line()
             table = self.current_table.pop()
    -        self._write_line_verbatim(table.get_text())
    -
    -    def _newline(self, attrs):
    -        self._write_line(force=True)
    -
    -    @staticmethod
    -    def get_bullet(index):
    -        """
    -        Returns:
    -          str -- The bullet that corresponds to the given index.
    -        """
    -        return Inscriptis.UL_COUNTER[index % Inscriptis.UL_COUNTER_LEN]
    +        # last tag before the table: self.tags[-2]
    +        # table tag: self.tags[-1]
    +
    +        out_of_table_text = self.tags[-1].canvas.get_text().strip()
    +        if out_of_table_text:
    +            self.tags[-2].write(out_of_table_text)
    +            self.tags[-2].canvas.write_newline()
    +
    +        start_idx = self.tags[-2].canvas.current_block.idx
    +        self.tags[-2].write_verbatim_text(table.get_text())
    +        self.tags[-2].canvas._flush_inline()
    +
    +        # transfer annotations from the current tag
    +        if self.tags[-1].annotation:
    +            end_idx = self.tags[-2].canvas.current_block.idx
    +            for a in self.tags[-1].annotation:
    +                self.tags[-2].canvas.annotations.append(Annotation(
    +                    start_idx, end_idx, a))
    +
    +        # transfer in-table annotations
    +        self.tags[-2].canvas.annotations.extend(
    +            table.get_annotations(start_idx, self.tags[-2].canvas.left_margin))
    +
    +    def _newline(self, _):
    +        self.tags[-1].canvas.write_newline()
    +
    +    def get_bullet(self) -> str:
    +        """Return the bullet that correspond to the given index."""
    +        return Inscriptis.UL_COUNTER[
    +            len(self.li_counter) % Inscriptis.UL_COUNTER_LEN]
    diff --git a/src/inscriptis/html_properties.py b/src/inscriptis/html_properties.py
    index a33c6d6..b1d24ea 100644
    --- a/src/inscriptis/html_properties.py
    +++ b/src/inscriptis/html_properties.py
    @@ -1,59 +1,58 @@
    -#!/usr/bin/env python
    -# encoding: utf-8
    -
    -"""
    -This module provides the following properties used for the rendering of HTML
    -pages:
    +r"""Provide properties used for rendering HTML pages.
     
    +Supported attributes::
      1. :class:`Display` properties.
      2. :class:`WhiteSpace` properties.
      3. :class:`HorizontalAlignment` properties.
    + 4. :class:`VerticalAlignment` properites.
     """
     
     from enum import Enum
     
     
     class Display(Enum):
    +    """Specify whether content will be rendered as inline, block or none.
    +
    +    .. note::
    +        A display attribute on none indicates, that the content should not be
    +        rendered at all.
         """
    -    This enum specifies whether content will be rendered as inline, block or
    -    none (i.e. not rendered).
    -    """
    +
         inline = 1
         block = 2
         none = 3
     
     
     class WhiteSpace(Enum):
    -    """
    -    This enum specifies the whitespace handling used for an HTML element as
    -    outlined in the `Cascading Style Sheets `_
    -    specification.
    -
    -    .. data:: normal
    -
    -    Sequences of whitespaces will be collapsed into a single one.
    +    """Specify the HTML element's whitespace handling.
     
    -    .. data:: pre
    -
    -    Sequences of whitespaces will preserved.
    +    Inscriptis supports the following handling strategies outlined in the
    +    `Cascading Style Sheets `_ specification.
         """
    +
         normal = 1
    +    """Collapse multiple whitespaces into a single one."""
         pre = 3
    +    """Preserve sequences of whitespaces."""
     
     
     class HorizontalAlignment(Enum):
    -    """
    -    This enum specifies the horizontal alignment.
    -    """
    +    """Specify the content's horizontal alignment."""
    +
         left = '<'
    +    """Left alignment of the block's content."""
         right = '>'
    +    """Right alignment of the block's content."""
         center = '^'
    +    """Center the block's content."""
     
     
     class VerticalAlignment(Enum):
    -    """
    -    This enum specifies the vertical alignment.
    -    """
    +    """Specify the content's vertical alignment."""
    +
         top = 1
    +    """Align all content at the top."""
         middle = 2
    +    """Align all content in the middle."""
         bottom = 3
    +    """Align all content at the bottom."""
    diff --git a/src/inscriptis/metadata.py b/src/inscriptis/metadata.py
    new file mode 100644
    index 0000000..8653994
    --- /dev/null
    +++ b/src/inscriptis/metadata.py
    @@ -0,0 +1,7 @@
    +"""Inscriptis metadata information."""
    +
    +__author__ = 'Albert Weichselbraun, Fabian Odoni'
    +__author_email__ = 'albert.weichselbraun@fhgr.ch, fabian.odoni@fhgr.ch'
    +__copyright__ = '2016-2021 Albert Weichselbraun, Fabian Odoni'
    +__license__ = 'Apache 2.0'
    +__version__ = '2.0rc1'
    diff --git a/src/inscriptis/model/__init__.py b/src/inscriptis/model/__init__.py
    index 8a706f5..c1b40bc 100644
    --- a/src/inscriptis/model/__init__.py
    +++ b/src/inscriptis/model/__init__.py
    @@ -1,5 +1,4 @@
    -"""
    -The model used for HTML rendering.
    +"""The model used for HTML rendering.
     
     - :mod:`inscriptis.model.canvas`: classes required for rendering parts of
         the HTML page.
    diff --git a/src/inscriptis/model/attribute.py b/src/inscriptis/model/attribute.py
    index fd524f1..0102e3f 100644
    --- a/src/inscriptis/model/attribute.py
    +++ b/src/inscriptis/model/attribute.py
    @@ -1,31 +1,68 @@
     #!/usr/bin/env python
     # encoding: utf-8
     
    -"""
    -This class handles HTML attributes such as `align`, and `valign` by
    -mapping them to the corresponding functions in the CssParse class.
    -"""
    +"""HTML attribute handling."""
    +from copy import copy
    +from typing import Dict, List
     
    +from inscriptis.annotation.parser import ApplyAnnotation
     from inscriptis.model.css import CssParse
    +from inscriptis.model.html_element import HtmlElement
     
    -HTML_ATTRIBUTE_MAPPING = {
    +DEFAULT_ATTRIBUTE_MAP = {
         'style': CssParse.attr_style,
         'align': CssParse.attr_horizontal_align,
         'valign': CssParse.attr_vertical_align
     }
     
     
    -def apply_attributes(attributes, html_element):
    -    """
    +def merge_function(func1, func2):
    +    """Merge two functions with the same arguments into a single one.
     
    -    Applies the attributes to the given HTML element.
    +    This function is used for cascading functions that operate on HtmlElements
    +    and attributes.
     
         Args:
    -        attributes: the list of attributes
    -        html_element: the HTML element for which the attributes are parsed
    +        func1: the first function
    +        func2: the second function
    +    """
    +    def merged(*args):
    +        func1(*args)
    +        func2(*args)
    +    return merged
    +
    +
    +class Attribute:
    +    """Handle HTML attributes such as `align`, and `valign`.
    +
    +    This class handles HTML attributes by mapping them to the corresponding
    +    functions in the :class:`~inscriptis.model.css.CssParse` class.
    +
    +    Attributes:
    +        attribute_mapping: a mapping of attributes to the corresponding handler
    +                           functions.
         """
    -    supported_attributes = filter(lambda t: t[0] in HTML_ATTRIBUTE_MAPPING,
    -                                  attributes.items())
    -    for attr_name, attr_value in supported_attributes:
    -        HTML_ATTRIBUTE_MAPPING[attr_name](attr_value, html_element)
    -    return html_element
    +
    +    def __init__(self):
    +        self.attribute_mapping = DEFAULT_ATTRIBUTE_MAP
    +
    +    def apply_attributes(self, attributes: Dict[str, str],
    +                         html_element: HtmlElement) -> HtmlElement:
    +        """Apply the attributes to the given HTML element.
    +
    +        Args:
    +            attributes: the list of attributes
    +            html_element: the HTML element for which the attributes are parsed
    +        """
    +        supported_attributes = ((name, val) for name, val in attributes.items()
    +                                if name in self.attribute_mapping)
    +        for attr_name, attr_value in supported_attributes:
    +            self.attribute_mapping[attr_name](attr_value, html_element)
    +        return html_element
    +
    +    def merge_attribute_map(self, annotations: List[ApplyAnnotation] = None):
    +        attributes = copy(self.attribute_mapping)
    +        for a in annotations:
    +            attributes[a.attr] = a.apply if a.attr not in attributes \
    +                else merge_function(attributes[a.attr], a.apply)
    +        self.attribute_mapping = attributes
    diff --git a/src/inscriptis/model/canvas.py b/src/inscriptis/model/canvas.py
    deleted file mode 100644
    index e3e118c..0000000
    --- a/src/inscriptis/model/canvas.py
    +++ /dev/null
    @@ -1,72 +0,0 @@
    -#!/usr/bin/env python
    -# encoding: utf-8
    -
    -"""
    -Elements used for rendering (parts) of the canvas.
    -
    -The :class:`Line` determines how a single line is rendered.
    -"""
    -
    -
    -class Line:
    -    """
    -    This class represents a line to render.
    -
    -    Args:
    -        margin_before: number of empty lines before the given line.
    -        margin_after: number of empty lines before the given line.
    -        prefix: prefix add before the line's content.
    -        suffix: suffix to add after the line's content.
    -        list_bullet: a bullet to add before the line.
    -        padding: horizontal padding
    -        align: determines the alignment of the line (not used yet)
    -        width: total width of the line in characters (not used yet)
    -    """
    -    __slots__ = ('margin_before', 'margin_after', 'prefix', 'suffix',
    -                 'content', 'list_bullet', 'padding', 'align', 'width')
    -
    -    def __init__(self):
    -        self.margin_before = 0
    -        self.margin_after = 0
    -        self.prefix = ""
    -        self.suffix = ""
    -        self.content = ""
    -        self.list_bullet = ""
    -        self.padding = 0
    -
    -    def get_text(self):
    -        """
    -        Returns:
    -          str -- The text representation of the current line.
    -        """
    -        if '\0' not in self.content:
    -            # standard text without any `WhiteSpace.pre` formatted text.
    -            text = self.content.split()
    -        else:
    -            # content containing `WhiteSpace.pre` formatted text
    -            self.content = self.content.replace('\0\0', '')
    -            text = []
    -            # optional padding to add before every line
    -            base_padding = ' ' * self.padding
    -
    -            for no, data in enumerate(self.content.split('\0')):
    -                # handle standard content
    -                if no % 2 == 0:
    -                    text.extend(data.split())
    -                # handle `WhiteSpace.pre` formatted content.
    -                else:
    -                    text.append(data.replace('\n', '\n' + base_padding))
    -
    -        return ''.join(('\n' * self.margin_before,
    -                        ' ' * (self.padding - len(self.list_bullet)),
    -                        self.list_bullet,
    -                        self.prefix,
    -                        ' '.join(text),
    -                        self.suffix,
    -                        '\n' * self.margin_after))
    -
    -    def __str__(self):
    -        return "".format(self.get_text())
    -
    -    def __repr__(self):
    -        return str(self)
    diff --git a/src/inscriptis/model/canvas/__init__.py b/src/inscriptis/model/canvas/__init__.py
    new file mode 100644
    index 0000000..dcc573d
    --- /dev/null
    +++ b/src/inscriptis/model/canvas/__init__.py
    @@ -0,0 +1,160 @@
    +#!/usr/bin/env python
    +# encoding: utf-8
    +
    +"""Classes used for rendering (parts) of the canvas.
    +
    +Every parsed :class:`~inscriptis.model.html_element.HtmlElement` writes its
    +textual content to the canvas which is managed by the following three classes:
    +
    +  - :class:`Canvas` provides the drawing board on which the HTML page is
    +    serialized and annotations are recorded.
    +  - :class:`~inscriptis.model.canvas.block.Block` contains the current line to
    +    which text is written.
    +  - :class:`~inscriptis.model.canvas.prefix.Prefix` handles indentation
    +    and bullets that prefix a line.
    +"""
    +from html import unescape
    +
    +from inscriptis.annotation import Annotation
    +from inscriptis.html_properties import WhiteSpace, Display
    +from inscriptis.model.canvas.block import Block
    +from inscriptis.model.html_element import HtmlElement
    +from inscriptis.model.canvas.prefix import Prefix
    +
    +
    +class Canvas:
    +    r"""The text Canvas on which Inscriptis writes the HTML page.
    +
    +    Attributes:
    +        margin: the current margin to the previous block (this is required to
    +            ensure that the `margin_after` and `margin_before` constraints of
    +            HTML block elements are met).
    +        current_block: A :class:`~inscriptis.model.canvas.block.Block` which
    +            merges the input text into a block (i.e., line).
    +        blocks: a list of strings containing the completed blocks (i.e.,
    +            text lines). Each block spawns at least one line.
    +        annotations: the list of recorded
    +            :class:`~inscriptis.annotation.Annotation`\s.
    +        _open_annotations: a map of open tags that contain annotations.
    +    """
    +
    +    __slots__ = ('annotations', 'blocks', 'current_block', '_open_annotations',
    +                 'margin')
    +
    +    def __init__(self):
    +        self.margin = 1000  # margin to the previous block
    +        self.current_block = Block(0, Prefix())
    +        self.blocks = []
    +        self.annotations = []
    +        self._open_annotations = {}
    +
    +    def open_tag(self, tag: HtmlElement) -> None:
    +        """Register that a tag is opened.
    +
    +        Args:
    +            tag: the tag to open.
    +        """
    +        if tag.annotation:
    +            self._open_annotations[tag] = self.current_block.idx
    +
    +        if tag.display == Display.block:
    +            self.open_block(tag)
    +
    +    def open_block(self, tag: HtmlElement):
    +        """Open an HTML block element."""
    +        # write missing bullets, if no content has been written
    +        if not self._flush_inline() and tag.list_bullet:
    +            self.write_unconsumed_bullet()
    +        self.current_block.prefix.register_prefix(tag.padding_inline,
    +                                                  tag.list_bullet)
    +
    +        # write the block margin
    +        required_margin = max(tag.previous_margin_after, tag.margin_before)
    +        if required_margin > self.margin:
    +            required_newlines = required_margin - self.margin
    +            self.current_block.idx += required_newlines
    +            self.blocks.append('\n' * (required_newlines - 1))
    +            self.margin = required_margin
    +
    +    def write_unconsumed_bullet(self):
    +        """Write unconsumed bullets to the blocks list."""
    +        bullet = self.current_block.prefix.unconsumed_bullet
    +        if bullet:
    +            self.blocks.append(bullet)
    +            self.current_block = self.current_block.new_block()
    +            self.margin = 0
    +
    +    def write(self, tag: HtmlElement, text: str,
    +              whitespace: WhiteSpace = None) -> None:
    +        """Write the given text to the current block."""
    +        self.current_block.merge(text, whitespace or tag.whitespace)
    +
    +    def close_tag(self, tag: HtmlElement) -> None:
    +        """Register that the given tag tag is closed.
    +
    +        Args:
    +            tag: the tag to close.
    +        """
    +        if tag.display == Display.block:
    +            # write missing bullets, if no content has been written so far.
    +            if not self._flush_inline() and tag.list_bullet:
    +                self.write_unconsumed_bullet()
    +            self.current_block.prefix.remove_last_prefix()
    +            self.close_block(tag)
    +
    +        if tag in self._open_annotations:
    +            start_idx = self._open_annotations.pop(tag)
    +            # do not record annotations with no content
    +            if start_idx == self.current_block.idx:
    +                return
    +
    +            for annotation in tag.annotation:
    +                self.annotations.append(
    +                    Annotation(start_idx, self.current_block.idx, annotation))
    +
    +    def close_block(self, tag: HtmlElement):
    +        """Close the given HtmlElement by writing its bottom margin.
    +
    +        Args:
    +            tag: the HTML Block element to close
    +        """
    +        if tag.margin_after > self.margin:
    +            required_newlines = tag.margin_after - self.margin
    +            self.current_block.idx += required_newlines
    +            self.blocks.append('\n' * (required_newlines - 1))
    +            self.margin = tag.margin_after
    +
    +    def write_newline(self):
    +        if not self._flush_inline():
    +            self.blocks.append('')
    +            self.current_block = self.current_block.new_block()
    +
    +    def get_text(self) -> str:
    +        """Provide a text representation of the Canvas."""
    +        self._flush_inline()
    +        return unescape('\n'.join(self.blocks))
    +
    +    def _flush_inline(self) -> bool:
    +        """Attempt to flush the content in self.current_block into a new block.
    +
    +        Notes:
    +            - If self.current_block does not contain any content (or only
    +              whitespaces) no changes are made.
    +            - Otherwise the content of current_block is added to blocks and a
    +              new current_block is initialized.
    +
    +        Returns:
    +            True if the attempt was successful, False otherwise.
    +        """
    +        if not self.current_block.is_empty():
    +            self.blocks.append(self.current_block.content)
    +            self.current_block = self.current_block.new_block()
    +            self.margin = 0
    +            return True
    +
    +        return False
    +
    +    @property
    +    def left_margin(self) -> int:
    +        """Return the length of the current line's left margin."""
    +        return self.current_block.prefix.current_padding
    diff --git a/src/inscriptis/model/canvas/block.py b/src/inscriptis/model/canvas/block.py
    new file mode 100644
    index 0000000..9a0cbdd
    --- /dev/null
    +++ b/src/inscriptis/model/canvas/block.py
    @@ -0,0 +1,89 @@
    +"""Representation of a text block within the HTML canvas."""
    +from inscriptis.html_properties import WhiteSpace
    +
    +
    +class Block:
    +    """The current block of text.
    +
    +    A block usually refers to one line of output text.
    +
    +    .. note::
    +        If pre-formatted content is merged with a block, it may also contain
    +        multiple lines.
    +
    +    Args:
    +        idx: the current block's start index.
    +        prefix: prefix used within the current block.
    +    """
    +
    +    __slots__ = ('idx', 'prefix', '_content', 'collapsable_whitespace')
    +
    +    def __init__(self, idx: int, prefix: str):
    +        self.idx = idx
    +        self.prefix = prefix
    +        self._content = ''
    +        self.collapsable_whitespace = True
    +
    +    def merge(self, text: str, whitespace: WhiteSpace) -> None:
    +        """Merge the given text with the current block.
    +
    +        Args:
    +            text: the text to merge.
    +            whitespace: whitespace handling.
    +        """
    +        if whitespace == WhiteSpace.pre:
    +            self.merge_pre_text(text)
    +        else:
    +            self.merge_normal_text(text)
    +
    +    def merge_normal_text(self, text: str) -> None:
    +        """Merge the given text with the current block.
    +
    +        Args:
    +            text: the text to merge
    +        """
    +        normalized_text = []
    +
    +        for ch in text:
    +            if not ch.isspace():
    +                normalized_text.append(ch)
    +                self.collapsable_whitespace = False
    +            elif not self.collapsable_whitespace:
    +                normalized_text.append(' ')
    +                self.collapsable_whitespace = True
    +
    +        if normalized_text:
    +            text = ''.join((self.prefix.first, *normalized_text)) if not \
    +                self._content else ''.join(normalized_text)
    +            self._content += text
    +            self.idx += len(text)
    +
    +    def merge_pre_text(self, text: str) -> None:
    +        """Merge the given pre-formatted text with the current block.
    +
    +        Args:
    +            text: the text to merge
    +        """
    +        text = ''.join((self.prefix.first,
    +                        text.replace('\n', '\n' + self.prefix.rest)))
    +        self._content += text
    +        self.idx += len(text)
    +        self.collapsable_whitespace = False
    +
    +    def is_empty(self) -> bool:
    +        return len(self.content) == 0
    +
    +    @property
    +    def content(self):
    +        if not self.collapsable_whitespace:
    +            return self._content
    +
    +        if self._content.endswith(' '):
    +            self._content = self._content[:-1]
    +            self.idx -= 1
    +        return self._content
    +
    +    def new_block(self) -> 'Block':
    +        """Return a new Block based on the current one."""
    +        self.prefix.consumed = False
    +        return Block(idx=self.idx + 1, prefix=self.prefix)
    diff --git a/src/inscriptis/model/canvas/prefix.py b/src/inscriptis/model/canvas/prefix.py
    new file mode 100644
    index 0000000..ca0b768
    --- /dev/null
    +++ b/src/inscriptis/model/canvas/prefix.py
    @@ -0,0 +1,99 @@
    +"""Manage the horizontal prefix (left-indentation, bullets) of canvas lines."""
    +
    +from contextlib import suppress
    +
    +
    +class Prefix:
    +    """Class Prefix manages paddings and bullets that prefix an HTML block.
    +
    +    Attributes:
    +        current_padding: the number of characters used for the current
    +                         left-indentation.
    +        paddings: the list of paddings for the current and all previous tags.
    +        bullets: the list of bullets in the current and all previous tags.
    +        consumed: whether the current bullet has already been consumed.
    +    """
    +
    +    __slots__ = ('current_padding', 'paddings', 'bullets', 'consumed')
    +
    +    def __init__(self):
    +        self.current_padding = 0
    +        self.paddings = []
    +        self.bullets = []
    +        self.consumed = False
    +
    +    def register_prefix(self, padding_inline, bullet):
    +        """Register the given prefix.
    +
    +        Args:
    +            padding_inline: the number of characters used for padding_inline
    +            bullet: an optional bullet.
    +        """
    +        self.current_padding += padding_inline
    +        self.paddings.append(padding_inline)
    +        self.bullets.append(bullet if bullet else '')
    +
    +    def remove_last_prefix(self):
    +        """Remove the last prefix from the list."""
    +        with suppress(IndexError):
    +            self.current_padding -= self.paddings.pop()
    +            del self.bullets[-1]
    +
    +    def pop_next_bullet(self):
    +        """Pop the next bullet to use, if any bullet is available."""
    +        next_bullet_idx = next((-idx for idx, val
    +                                in enumerate(reversed(self.bullets))
    +                                if val), 1) - 1
    +
    +        if not next_bullet_idx:
    +            return ''
    +
    +        bullet = self.bullets[next_bullet_idx]
    +        self.bullets[next_bullet_idx] = ''
    +        return bullet
    +
    +    @property
    +    def first(self):
    +        """Return the prefix used at the beginning of a tag.
    +
    +        Note::
    +            A new block needs to be prefixed by the current padding and bullet.
    +            Once this has happened (i.e., :attr:`consumed` is set to `True`) no
    +            further prefixes should be used for a line.
    +        """
    +        if self.consumed:
    +            return ''
    +
    +        self.consumed = True
    +        bullet = self.pop_next_bullet()
    +        return ' ' * (self.current_padding - len(bullet)) \
    +               + bullet
    +
    +    @property
    +    def unconsumed_bullet(self):
    +        """Yield any yet unconsumed bullet.
    +
    +        Note::
    +            This function yields the previous element's bullets, if they have
    +            not been consumed yet.
    +        """
    +        if self.consumed:
    +            return ''
    +
    +        bullet = self.pop_next_bullet()
    +        if not bullet:
    +            return ''
    +
    +        padding = self.current_padding - self.paddings[-1]
    +        return ' ' * (padding - len(bullet)) \
    +               + bullet
    +
    +    @property
    +    def rest(self):
    +        """Return the prefix used for new lines within a block.
    +
    +        This prefix is used for pre-text that contains newlines. The lines
    +        need to be prefixed with the right padding to preserver the
    +        indentation.
    +        """
    +        return ' ' * self.current_padding
    diff --git a/src/inscriptis/model/config.py b/src/inscriptis/model/config.py
    index 836731d..06ed699 100644
    --- a/src/inscriptis/model/config.py
    +++ b/src/inscriptis/model/config.py
    @@ -1,22 +1,23 @@
     #!/usr/bin/env python
    -"""
    -Provides configuration objects for the Inscriptis HTML 2 text parser.
    -"""
    +"""Provide configuration objects for the Inscriptis HTML to text converter."""
    +
    +from copy import deepcopy
     
     from inscriptis.css_profiles import CSS_PROFILES
    +from inscriptis.annotation.parser import AnnotationModel
    +from inscriptis.model.attribute import Attribute
     
     DEFAULT_CSS_PROFILE_NAME = 'relaxed'
     
     
     class ParserConfig:
    -    """
    -    The ParserConfig object encapsulates configuration options and custom CSS
    -    definitions used by inscriptis for translating HTML to text.
    -    """
    +    """Encapsulate configuration options and CSS definitions."""
    +
         def __init__(self, css=None, display_images=False,
                      deduplicate_captions=False, display_links=False,
    -                 display_anchors=False):
    -        """
    +                 display_anchors=False, annotation_rules=None):
    +        """Create a ParserConfig configuration.
    +
             Args:
                 css: an optional custom CSS definition.
                 display_images: whether to include image tiles/alt texts.
    @@ -26,18 +27,30 @@ def __init__(self, css=None, display_images=False,
                 display_links: whether to display link targets
                                (e.g. `[Python](https://www.python.org)`).
                 display_anchors: whether to display anchors (e.g. `[here](#here)`).
    -
    +            annotation_rules: an optional dictionary of annotation rules which
    +                              specify tags and attributes to annotation.
             """
    -
    -        self.css = css or CSS_PROFILES[DEFAULT_CSS_PROFILE_NAME]
             self.display_images = display_images
             self.deduplicate_captions = deduplicate_captions
             self.display_links = display_links
             self.display_anchors = display_anchors
    +        self.css = css or CSS_PROFILES[DEFAULT_CSS_PROFILE_NAME]
    +        self.attribute_handler = Attribute()
    +        if annotation_rules:
    +            # ensure that we do not modify the original model or its
    +            # members.
    +            annotation_model = AnnotationModel(deepcopy(self.css),
    +                                               annotation_rules)
    +            # css with annotation support
    +            self.css = annotation_model.css
    +            # attribute handler with annotation support
    +            self.attribute_handler.merge_attribute_map(
    +                annotation_model.css_attr)
     
    -    def parse_a(self):
    -        """
    -        Returns:
    +    def parse_a(self) -> bool:
    +        """Indicate whether the text output should contain links or anchors.
    +
    +        Returns
                 Whether we need to parse  tags.
             """
             return self.display_links or self.display_anchors
    diff --git a/src/inscriptis/model/css.py b/src/inscriptis/model/css.py
    index 563746f..89f2362 100644
    --- a/src/inscriptis/model/css.py
    +++ b/src/inscriptis/model/css.py
    @@ -1,113 +1,30 @@
    -#!/usr/bin/env python
    -# coding: utf-8
    -"""
    -This module implements basic CSS support for inscriptis.
    +"""Implement basic CSS support for inscriptis.
     
    -- The :class:`HtmlElement` class encapsulates all CSS properties of a single
    -  HTML element.
    +- The :class:`~inscriptis.model.html_element.HtmlElement` class
    +  encapsulates all CSS properties of a single HTML element.
     - :class:`CssParse` parses CSS specifications and translates them into the
       corresponding HtmlElements used by Inscriptis for rendering HTML pages.
     """
    -from copy import copy
    +from contextlib import suppress
     from re import compile as re_compile
     from inscriptis.html_properties import (Display, WhiteSpace,
                                             HorizontalAlignment, VerticalAlignment)
    -
    -
    -class HtmlElement:
    -    """
    -    The HtmlElement class stores the following CSS properties of HTML
    -    elements:
    -
    -    - tag: tag name of the given HtmlElement.
    -    - prefix: specifies a prefix that to insert before the tag's content.
    -    - suffix: a suffix to append after the tag's content.
    -    - display: :class:`~inscriptis.html_properties.Display` strategy used for
    -      the content.
    -    - margin_before: vertical margin before the tag's content.
    -    - margin_after: vertical margin after the tag's content.
    -    - padding: horizontal padding before the tag's content.
    -    - whitespace: the :class:`~inscriptis.html_properties.Whitespace` handling
    -      strategy.
    -    - limit_whitespace_affixes: limit printing of whitespace affixes to
    -      elements with `normal` whitespace handling.
    -    """
    -
    -    __slots__ = ('tag', 'prefix', 'suffix', 'display', 'margin_before',
    -                 'margin_after', 'padding', 'whitespace',
    -                 'limit_whitespace_affixes', 'align', 'valign')
    -
    -    def __init__(self, tag='/', prefix='', suffix='', display=None,
    -                 margin_before=0, margin_after=0, padding=0,
    -                 whitespace=None, limit_whitespace_affixes=False,
    -                 align=HorizontalAlignment.left,
    -                 valign=VerticalAlignment.middle):
    -        self.tag = tag
    -        self.prefix = prefix
    -        self.suffix = suffix
    -        self.display = display
    -        self.margin_before = margin_before
    -        self.margin_after = margin_after
    -        self.padding = padding
    -        self.whitespace = whitespace
    -        self.limit_whitespace_affixes = limit_whitespace_affixes
    -        self.align = align
    -        self.valign = valign
    -
    -    def get_refined_html_element(self, new):
    -        """
    -        Args:
    -            new: The new HtmlElement to be applied to the current context.
    -
    -        Returns:
    -            The refined element with the context applied.
    -        """
    -        refined_element = copy(new)
    -
    -        # inherit display:none attributes
    -        if self.display == Display.none:
    -            refined_element.display = Display.none
    -
    -        # no whitespace set => inherit
    -        refined_element.whitespace = refined_element.whitespace \
    -            or self.whitespace
    -
    -        # do not display whitespace only affixes in Whitespace.pre areas
    -        # if `limit_whitespace_affixes` is set.
    -        if (refined_element.limit_whitespace_affixes
    -                and self.whitespace == WhiteSpace.pre):
    -            if refined_element.prefix.isspace():
    -                refined_element.prefix = ''
    -            if refined_element.suffix.isspace():
    -                refined_element.suffix = ''
    -
    -        return refined_element
    -
    -    def __str__(self):
    -        return (
    -            '<{self.tag} prefix={self.prefix}, suffix={self.suffix}, '
    -            'display={self.display}, margin_before={self.margin_before}, '
    -            'margin_after={self.margin_after}, padding={self.padding}, '
    -            'whitespace={self.whitespace}, align={self.align}, '
    -            'valign={self.valign}>'
    -        ).format(self=self)
    +from inscriptis.model.html_element import HtmlElement
     
     
     class CssParse:
    -    """
    -    Parses CSS specifications and translates them into the corresponding
    -    HtmlElements.
    +    """Parse CSS specifications and applies them to HtmlElements.
     
         The attribute `display: none`, for instance, is translated to
    -    `HtmlElement.display=Display.none`.
    +    :attr:`HtmlElement.display=Display.none`.
         """
    +
         # used to separate value and unit from each other
         RE_UNIT = re_compile(r'(-?[0-9.]+)(\w+)')
     
         @staticmethod
    -    def attr_style(style_attribute, html_element):
    -        """
    -        Applies the provided style attributes to the given html_element.
    +    def attr_style(style_attribute: str, html_element: HtmlElement):
    +        """Apply the provided style attributes to the given HtmlElement.
     
             Args:
               style_attribute: The attribute value of the given style sheet.
    @@ -120,22 +37,25 @@ def attr_style(style_attribute, html_element):
                 key, value = (s.strip() for s in style_directive.split(':', 1))
     
                 try:
    -                apply_style = getattr(CssParse, "attr_"
    +                apply_style = getattr(CssParse, 'attr_'
                                           + key.replace('-webkit-', '')
    -                                      .replace("-", "_"))
    +                                      .replace('-', '_'))
                     apply_style(value, html_element)
                 except AttributeError:
                     pass
     
         @staticmethod
    -    def _get_em(length):
    -        """
    +    def _get_em(length: str) -> int:
    +        """Convert length specifications into em.
    +
    +        This function takes a length specification (e.g., 2em, 2px, etc.) and
    +        transforms it into em.
    +
             Args:
    -          length (str): the length (e.g. 2em, 2px, etc.) as specified in the
    -                        CSS.
    +          length: the length specification.
     
             Returns:
    -            int -- the length in em's.
    +            the length in em.
             """
             _m = CssParse.RE_UNIT.search(length)
             value = float(_m.group(1))
    @@ -150,10 +70,8 @@ def _get_em(length):
         # ------------------------------------------------------------------------
     
         @staticmethod
    -    def attr_display(value, html_element):
    -        """
    -        Apply the given display value.
    -        """
    +    def attr_display(value: str, html_element: HtmlElement):
    +        """Apply the given display value."""
             if html_element.display == Display.none:
                 return
     
    @@ -165,55 +83,39 @@ def attr_display(value, html_element):
                 html_element.display = Display.inline
     
         @staticmethod
    -    def attr_white_space(value, html_element):
    -        """
    -        Apply the given white-space value.
    -        """
    +    def attr_white_space(value: str, html_element: HtmlElement):
    +        """Apply the given white-space value."""
             if value in ('normal', 'nowrap'):
                 html_element.whitespace = WhiteSpace.normal
             elif value in ('pre', 'pre-line', 'pre-wrap'):
                 html_element.whitespace = WhiteSpace.pre
     
         @staticmethod
    -    def attr_margin_top(value, html_element):
    -        """
    -        Apply the given top margin.
    -        """
    +    def attr_margin_top(value: str, html_element: HtmlElement):
    +        """Apply the given top margin."""
             html_element.margin_before = CssParse._get_em(value)
     
         @staticmethod
    -    def attr_margin_bottom(value, html_element):
    -        """
    -        Apply the provided bottom margin.
    -        """
    +    def attr_margin_bottom(value: str, html_element: HtmlElement):
    +        """Apply the provided bottom margin."""
             html_element.margin_after = CssParse._get_em(value)
     
         @staticmethod
    -    def attr_padding_left(value, html_element):
    -        """
    -        Apply the given left padding.
    -        """
    -        html_element.padding = CssParse._get_em(value)
    +    def attr_padding_left(value: str, html_element: HtmlElement):
    +        """Apply the given left padding_inline."""
    +        html_element.padding_inline = CssParse._get_em(value)
     
         @staticmethod
    -    def attr_horizontal_align(value, html_element):
    -        """
    -        Apply the provided horizontal alignment.
    -        """
    -        try:
    +    def attr_horizontal_align(value: str, html_element: HtmlElement):
    +        """Apply the provided horizontal alignment."""
    +        with suppress(KeyError):
                 html_element.align = HorizontalAlignment[value]
    -        except KeyError:
    -            pass
     
         @staticmethod
    -    def attr_vertical_align(value, html_element):
    -        """
    -        Apply the given vertical alignment.
    -        """
    -        try:
    +    def attr_vertical_align(value: str, html_element: HtmlElement):
    +        """Apply the given vertical alignment."""
    +        with suppress(KeyError):
                 html_element.valign = VerticalAlignment[value]
    -        except KeyError:
    -            pass
     
         # register aliases
         attr_margin_before = attr_margin_top
    diff --git a/src/inscriptis/model/html_element.py b/src/inscriptis/model/html_element.py
    new file mode 100644
    index 0000000..aa5094c
    --- /dev/null
    +++ b/src/inscriptis/model/html_element.py
    @@ -0,0 +1,167 @@
    +"""Data structures for handling HTML Elements."""
    +from typing import Tuple
    +
    +from inscriptis.html_properties import Display, HorizontalAlignment, \
    +    VerticalAlignment, WhiteSpace
    +
    +
    +class HtmlElement:
    +    """The HtmlElement class stores properties and metadata of HTML elements.
    +
    +    Attributes:
    +    - canvas: the canvas to which the HtmlElement writes its content.
    +    - tag: tag name of the given HtmlElement.
    +    - prefix: specifies a prefix that to insert before the tag's content.
    +    - suffix: a suffix to append after the tag's content.
    +    - display: :class:`~inscriptis.html_properties.Display` strategy used for
    +      the content.
    +    - margin_before: vertical margin before the tag's content.
    +    - margin_after: vertical margin after the tag's content.
    +    - padding_inline: horizontal padding_inline before the tag's content.
    +    - whitespace: the :class:`~inscriptis.html_properties.Whitespace` handling
    +      strategy.
    +    - limit_whitespace_affixes: limit printing of whitespace affixes to
    +      elements with `normal` whitespace handling.
    +    - align: the element's horizontal alignment.
    +    - valign: the element's vertical alignment.
    +    - previous_margin_after: the margin after of the previous HtmlElement.
    +    - annotation: annotations associated with the HtmlElement.
    +    """
    +
    +    __slots__ = ('canvas', 'tag', 'prefix', 'suffix', 'display',
    +                 'margin_before', 'margin_after', 'padding_inline',
    +                 'list_bullet', 'whitespace', 'limit_whitespace_affixes',
    +                 'align', 'valign', 'previous_margin_after', 'annotation')
    +
    +    def __init__(self, tag='default', prefix='', suffix='',
    +                 display: Display = Display.inline,
    +                 margin_before: int = 0,
    +                 margin_after: int = 0,
    +                 padding_inline: int = 0,
    +                 list_bullet: str = '',
    +                 whitespace: WhiteSpace = None,
    +                 limit_whitespace_affixes: bool = False,
    +                 align: HorizontalAlignment = HorizontalAlignment.left,
    +                 valign: VerticalAlignment = VerticalAlignment.middle,
    +                 annotation: Tuple[str] = ()):
    +        self.canvas = None
    +        self.tag = tag
    +        self.prefix = prefix
    +        self.suffix = suffix
    +        self.display = display
    +        self.margin_before = margin_before
    +        self.margin_after = margin_after
    +        self.padding_inline = padding_inline
    +        self.list_bullet = list_bullet
    +        self.whitespace = whitespace
    +        self.limit_whitespace_affixes = limit_whitespace_affixes
    +        self.align = align
    +        self.valign = valign
    +        self.previous_margin_after = 0
    +        self.annotation = annotation
    +
    +    def __copy__(self) -> 'HtmlElement':
    +        """Performance-optimized copy implementation."""
    +        copy = self.__class__.__new__(self.__class__)
    +        for attr in self.__slots__:
    +            setattr(copy, attr, getattr(self, attr))
    +        return copy
    +
    +    def write(self, text: str):
    +        """Write the given HTML text to the element's canvas."""
    +        if not text or self.display == Display.none:
    +            return
    +
    +        self.canvas.write(self, ''.join(
    +            (self.prefix, text, self.suffix)))
    +
    +    def write_tail(self, text: str):
    +        """Write the given tail text the the element's canvas.
    +
    +        Args:
    +            text: the text to write
    +        """
    +        if not text or self.display == Display.none:
    +            return
    +        self.write(text)
    +
    +    def set_canvas(self, canvas) -> 'HtmlElement':
    +        self.canvas = canvas
    +        return self
    +
    +    def set_tag(self, tag: str) -> 'HtmlElement':
    +        self.tag = tag
    +        return self
    +
    +    def write_verbatim_text(self, text: str):
    +        """Write the given text with `Whitespace.pre` to the canvas.
    +
    +        Args:
    +            text: the text to write
    +        """
    +        if not text:
    +            return
    +
    +        if self.display == Display.block:
    +            self.canvas.open_block(self)
    +
    +        self.canvas.write(self, text, whitespace=WhiteSpace.pre)
    +
    +        if self.display == Display.block:
    +            self.canvas.close_block(self)
    +
    +    def get_refined_html_element(self, new: 'HtmlElement') -> 'HtmlElement':
    +        """Compute the new HTML element based on the previous one.
    +
    +        Adaptations:
    +            margin_top: additional margin required when considering
    +                        margin_bottom of the previous element
    +
    +        Args:
    +            new: The new HtmlElement to be applied to the current context.
    +
    +        Returns:
    +            The refined element with the context applied.
    +        """
    +        new.canvas = self.canvas
    +
    +        # inherit `display:none` attributes and ignore further refinements
    +        if self.display == Display.none:
    +            new.display = Display.none
    +            return new
    +
    +        # no whitespace set => inherit
    +        new.whitespace = new.whitespace or self.whitespace
    +
    +        # do not display whitespace only affixes in Whitespace.pre areas
    +        # if `limit_whitespace_affixes` is set.
    +        if (new.limit_whitespace_affixes
    +                and self.whitespace == WhiteSpace.pre):
    +            if new.prefix.isspace():
    +                new.prefix = ''
    +            if new.suffix.isspace():
    +                new.suffix = ''
    +
    +        if new.display == Display.block and self.display == Display.block:
    +            new.previous_margin_after = self.margin_after
    +
    +        return new
    +
    +    def __str__(self):
    +        return (
    +            '<{self.tag} prefix={self.prefix}, suffix={self.suffix}, '
    +            'display={self.display}, margin_before={self.margin_before}, '
    +            'margin_after={self.margin_after}, '
    +            'padding_inline={self.padding_inline}, '
    +            'list_bullet={self.list_bullet}, '
    +            'whitespace={self.whitespace}, align={self.align}, '
    +            'valign={self.valign}, annotation={self.annotation}>'
    +        ).format(self=self)
    +
    +    __repr__ = __str__
    +
    +
    +"""
    +An empty default HTML element.
    +"""
    +DEFAULT_HTML_ELEMENT = HtmlElement()
    diff --git a/src/inscriptis/model/table.py b/src/inscriptis/model/table.py
    index 5673738..ed3fbe2 100644
    --- a/src/inscriptis/model/table.py
    +++ b/src/inscriptis/model/table.py
    @@ -1,166 +1,267 @@
     #!/usr/bin/env python3
     # encoding: utf-8
    -"""
    -Classes for representing Tables, Rows and TableCells.
    -"""
    +"""Classes used for representing Tables, TableRows and TableCells."""
    +
    +from typing import List
    +from itertools import chain, accumulate
     
    -from itertools import chain, zip_longest
     from inscriptis.html_properties import HorizontalAlignment, VerticalAlignment
    +from inscriptis.annotation import Annotation, horizontal_shift
    +from inscriptis.model.canvas import Canvas
     
     
    -class TableCell:
    -    """ A single table cell """
    +class TableCell(Canvas):
    +    """A table cell.
     
    -    __slots__ = ('canvas', 'align', 'valign', 'width', 'height')
    +    Attributes:
    +        line_width: the original line widths per line (required to adjust
    +                    annotations after a reformatting)
    +        vertical_padding: vertical padding that has been introduced due to
    +                          vertical formatting rules.
    +    """
     
    -    def __init__(self, canvas, align, valign, width=None, height=None):
    -        """
    -        Args:
    -          canvas: canvas to which the table cell is written.
    -          align: the :class:`~inscriptis.html_properties.HorizontalAlignment`
    -            of the given line.
    -         width: line width
    -        """
    -        self.canvas = canvas
    +    __slots__ = ('annotations', 'block_annotations', 'blocks', 'current_block',
    +                 'margin', 'annotation_counter', 'align', 'valign', '_width',
    +                 'line_width', 'vertical_padding')
    +
    +    def __init__(self, align: HorizontalAlignment, valign: VerticalAlignment):
    +        super().__init__()
             self.align = align
             self.valign = valign
    -        self.width = width
    -        self.height = height
    +        self._width = None
    +        self.line_width = None
    +        self.vertical_padding = 0
     
    -    def get_format_spec(self):
    -        """
    -        The format specification according to the values of `align` and
    -        `width`.
    -        """
    -        return '{{:{self.align.value}{self.width}}}'.format(self=self)
    +    def normalize_blocks(self) -> int:
    +        """Split multi-line blocks into multiple one-line blocks.
     
    -    def get_cell_lines(self):
    -        """
             Returns:
    -          list -- A list of all the lines stores within the :class:`TableCell`.
    +            The height of the normalized cell.
             """
    -        format_spec = self.get_format_spec()
    -        # normalize the canvas
    -        self.canvas = list(chain(*[line.split('\n') for line in self.canvas]))
    -
    -        if self.height and False:
    -            canvas = self.canvas + ((self.height - len(self.canvas)) * [''])
    -        else:
    -            canvas = self.canvas
    -
    -        # horizontal alignment
    -        rows = [format_spec.format(line) if self.width else line
    -                for line in canvas]
    -
    -        # vertical alignment
    -        if self.height and len(rows) < self.height:
    -            empty_line = [' ' * self.width] if self.width else ['']
    -            if self.valign == VerticalAlignment.bottom:
    -                rows = ((self.height - len(rows)) * empty_line) + rows
    -            elif self.valign == VerticalAlignment.middle:
    -                rows = ((self.height - len(rows) - 1) // 2) * empty_line + rows
    -                rows = rows + ((self.height - len(rows)) * empty_line)
    -            else:
    -                rows = rows + ((self.height - len(rows)) * empty_line)
    -
    -        return rows
    +        self._flush_inline()
    +        self.blocks = list(chain(*(line.split('\n') for line in self.blocks)))
    +        if not self.blocks:
    +            self.blocks = ['']
    +        return len(self.blocks)
     
    +    @property
    +    def height(self):
    +        """Compute the table cell's height.
     
    -class Row:
    -    """ A single row within a table """
    -    __slot__ = ('columns', )
    +        Returns:
    +            The cell's current height.
    +        """
    +        return max(1, len(self.blocks))
     
    -    def __init__(self):
    -        self.columns = []
    +    @property
    +    def width(self):
    +        """Compute the table cell's width.
     
    -    def get_cell_lines(self, column_idx):
    +        Returns:
    +            The cell's current width.
             """
    -        Computes the list of lines in the cell specified by the column_idx.
    +        if self._width:
    +            return self._width
    +        return max((len(line) for line in chain(*(block.split('\n')
    +                                                  for block in self.blocks))))
    +
    +    @width.setter
    +    def width(self, width):
    +        """Set the table's width and applies the cell's horizontal formatting.
     
             Args:
    -          column_idx: The column index of the cell.
    -        Returns:
    -          list -- The list of lines in the cell specified by the column_idx or
    -                  an empty list if the column does not exist.
    +            The cell's expected width.
             """
    -        return [] if column_idx >= len(self.columns) \
    -            else self.columns[column_idx].get_cell_lines()
    +        # save the original line widths before reformatting
    +        self.line_width = [len(block) for block in self.blocks]
     
    -    def get_text(self):
    +        # record new width and start reformatting
    +        self._width = width
    +        format_spec = '{{:{align}{width}}}'.format(align=self.align.value,
    +                                                   width=width)
    +        self.blocks = [format_spec.format(b) for b in self.blocks]
    +
    +    @height.setter
    +    def height(self, height: int):
    +        """Set the cell's height to the given value.
    +
    +        Notes:
    +            Depending on the height and the cell's vertical formatting this
    +            might require the introduction of empty lines.
             """
    +        rows = len(self.blocks)
    +        if rows < height:
    +            empty_line = ['']
    +            if self.valign == VerticalAlignment.bottom:
    +                self.vertical_padding = (height - rows)
    +                self.blocks = self.vertical_padding * empty_line + self.blocks
    +            elif self.valign == VerticalAlignment.middle:
    +                self.vertical_padding = (height - rows) // 2
    +                self.blocks = self.vertical_padding * empty_line + \
    +                    self.blocks + ((height - rows + 1) // 2 * empty_line)
    +            else:
    +                self.blocks = self.blocks + ((height - rows) * empty_line)
    +
    +    def get_annotations(self, idx: int, row_width: int) -> List[Annotation]:
    +        """Return a list of all annotations within the TableCell.
    +
             Returns:
    -          str -- A rendered string representation of the given row.
    +            A list of annotations that have been adjusted to the cell's
    +            position.
             """
    -        row_lines = ['  '.join(line)
    -                     for line in zip_longest(*[column.get_cell_lines()
    -                                               for column in self.columns],
    -                                             fillvalue=' ')]
    +        self.current_block.idx = idx
    +        if not self.annotations:
    +            return []
    +
    +        # the easy case - the cell has only one line :)
    +        if len(self.blocks) == 1:
    +            annotations = horizontal_shift(self.annotations,
    +                                           self.line_width[0],
    +                                           self.width, self.align, idx)
    +            self.line_width[0] = self.width
    +            return annotations
    +
    +        # the more challenging one - multiple cell lines
    +        line_break_pos = list(accumulate(self.line_width))
    +        annotation_lines = [[] for _ in self.blocks]
    +
    +        # assign annotations to the corresponding line
    +        for a in self.annotations:
    +            for no, line_break in enumerate(line_break_pos):
    +                if a.start <= (line_break + no):         # consider newline
    +                    annotation_lines[no + self.vertical_padding].append(a)
    +                    break
    +
    +        # compute the annotation index based on its line and delta :)
    +        result = []
    +        idx += self.vertical_padding   # newlines introduced by the padding
    +        for line_annotations, line_len in zip(annotation_lines,
    +                                              self.line_width):
    +            result.extend(horizontal_shift(line_annotations, line_len,
    +                                           self.width, self.align, idx))
    +            idx += row_width - line_len
    +        self.line_width = [self.width for _ in self.line_width]
    +        return result
    +
    +
    +class TableRow:
    +    """A single row within a table."""
    +
    +    __slots__ = ('columns', 'cell_separator')
    +
    +    def __init__(self, cell_separator: str = '  '):
    +        self.columns: List[TableCell] = []
    +        self.cell_separator = cell_separator
    +
    +    def __len__(self):
    +        return len(self.columns)
    +
    +    def get_text(self) -> str:
    +        """Return a text representation of the TableRow."""
    +        row_lines = [self.cell_separator.join(line)
    +                     for line in zip(*[column.blocks
    +                                       for column in self.columns])]
             return '\n'.join(row_lines)
     
    +    @property
    +    def width(self):
    +        """Compute and return the width of the current row."""
    +        if not self.columns:
    +            return 0
    +
    +        return sum((cell.width for cell in self.columns)) + len(
    +            self.cell_separator) * (len(self.columns) - 1)
    +
     
     class Table:
    -    """ A HTML table. """
    +    """An HTML table.
    +
    +    Attributes:
    +        rows: the table's rows.
    +        left_margin_len: length of the left margin before the table.
    +    """
     
    -    __slot__ = ('rows', 'td_is_open')
    +    __slots__ = ('rows', 'left_margin_len')
     
    -    def __init__(self):
    +    def __init__(self, left_margin_len: int):
             self.rows = []
    -        # keep track of whether the last td tag has been closed
    -        self.td_is_open = False
    +        self.left_margin_len = left_margin_len
     
         def add_row(self):
    -        """
    -        Adds an empty :class:`Row` to the table.
    -        """
    -        self.rows.append(Row())
    +        """Add an empty :class:`TableRow` to the table."""
    +        self.rows.append(TableRow())
     
    -    def add_cell(self, canvas, align=HorizontalAlignment.left,
    -                 valign=VerticalAlignment.top):
    -        """
    -        Adds a new :class:`TableCell` to the table's last row. If no row
    -        exists yet, a new row is created.
    -        """
    -        if not self.rows:
    -            self.add_row()
    -        self.rows[-1].columns.append(
    -            TableCell(canvas, align, valign))
    +    def add_cell(self, table_cell: TableCell):
    +        """Add  a new :class:`TableCell` to the table's last row.
     
    -    def compute_column_width_and_height(self):
    -        """
    -        Compute and set the column width and height for all columns in the
    -        table.
    +        .. note::
    +            If no row exists yet, a new row is created.
             """
    -        # skip tables with no row
             if not self.rows:
    -            return
    +            self.add_row()
    +        self.rows[-1].columns.append(table_cell)
     
    -        # determine row height
    +    def _set_row_height(self):
    +        """Set the cell height for all :class:`TableCell`s in the table."""
             for row in self.rows:
    -            max_row_height = (max((len(cell.get_cell_lines())
    -                                   for cell in row.columns))
    -                              if row.columns else 1)
    +            max_row_height = max((cell.normalize_blocks()
    +                                  for cell in row.columns)) \
    +                if row.columns else 0
                 for cell in row.columns:
                     cell.height = max_row_height
     
    +    def _set_column_width(self):
    +        """Set the column width for all :class:`TableCell`s in the table."""
             # determine maximum number of columns
             max_columns = max((len(row.columns) for row in self.rows))
     
    -        for column_idx in range(max_columns):
    -            # determine max_column_width
    -            row_cell_lines = [row.get_cell_lines(column_idx)
    -                              for row in self.rows]
    -            max_column_width = max((len(line)
    -                                    for line in chain(*row_cell_lines)))
    +        for cur_column_idx in range(max_columns):
    +            # determine the required column width for the current column
    +            max_column_width = max((row.columns[cur_column_idx].width
    +                                    for row in self.rows
    +                                    if len(row) > cur_column_idx))
     
    -            # set column width in all rows
    +            # set column width for all TableCells in the current column
                 for row in self.rows:
    -                if len(row.columns) > column_idx:
    -                    row.columns[column_idx].width = max_column_width
    +                if len(row) > cur_column_idx:
    +                    row.columns[cur_column_idx].width = max_column_width
     
         def get_text(self):
    -        """
    +        """Return and render the text of the given table."""
    +        if not self.rows:
    +            return '\n'
    +
    +        self._set_row_height()
    +        self._set_column_width()
    +        return '\n'.join((row.get_text() for row in self.rows)) + '\n'
    +
    +    def get_annotations(self, idx: int,
    +                        left_margin_len: int) -> List[Annotation]:
    +        r"""Return all annotations in the given table.
    +
    +        Args:
    +            idx: the table's start index.
    +            left_margin_len: len of the left margin (required for adapting
    +                             the position of annotations).
    +
             Returns:
    -          A rendered string representation of the given table.
    +            A list of all :class:`~inscriptis.annotation.Annotation`\s present
    +            in the table.
             """
    -        self.compute_column_width_and_height()
    -        return '\n'.join((row.get_text() for row in self.rows))
    +        if not self.rows:
    +            return []
    +
    +        annotations = []
    +        idx += left_margin_len
    +        for row in self.rows:
    +            if not row.columns:
    +                continue
    +            row_width = row.width + left_margin_len
    +            cell_idx = idx
    +            for cell in row.columns:
    +                annotations += cell.get_annotations(cell_idx, row_width)
    +                cell_idx += cell.width + len(row.cell_separator)
    +
    +            idx += (row_width + 1) * cell.height   # linebreak
    +
    +        return annotations
    diff --git a/tests/html/advanced-prefix-test.html b/tests/html/advanced-prefix-test.html
    new file mode 100644
    index 0000000..f441b0f
    --- /dev/null
    +++ b/tests/html/advanced-prefix-test.html
    @@ -0,0 +1,19 @@
    +
      +
    1. first
    2. +
    3. +
        +
      • y=0
        +for x in range(3,10):
        +   print(x)
        +   y += x
        +print(y)
        +
      • +
      • print("Hallo")
        +print("Echo")
        +print("123")
        +            
      • +
      • +
      +
    4. third
    5. +
    + diff --git a/tests/html/advanced-prefix-test.txt b/tests/html/advanced-prefix-test.txt new file mode 100644 index 0000000..79fddeb --- /dev/null +++ b/tests/html/advanced-prefix-test.txt @@ -0,0 +1,13 @@ + 1. first + 2. + + y=0 + for x in range(3,10): + print(x) + y += x + print(y) + + print("Hallo") + print("Echo") + print("123") + + + + 3. third diff --git a/tests/html/invalid-table3.html b/tests/html/invalid-table3.html new file mode 100644 index 0000000..2c40632 --- /dev/null +++ b/tests/html/invalid-table3.html @@ -0,0 +1,10 @@ +Good day + + first second third +
    +forth + + oho + beta
    alphaepsilon +
    gamma +
    diff --git a/tests/html/invalid-table3.txt b/tests/html/invalid-table3.txt new file mode 100644 index 0000000..8120203 --- /dev/null +++ b/tests/html/invalid-table3.txt @@ -0,0 +1,4 @@ +Good day first second third +forth oho beta + alpha epsilon +gamma \ No newline at end of file diff --git a/tests/html/invisible3.html b/tests/html/invisible3.html new file mode 100644 index 0000000..75ddc90 --- /dev/null +++ b/tests/html/invisible3.html @@ -0,0 +1,2 @@ + + diff --git a/tests/html/invisible3.txt b/tests/html/invisible3.txt new file mode 100644 index 0000000..e69de29 diff --git a/tests/html/nested-list.html b/tests/html/nested-list.html new file mode 100644 index 0000000..8dd7d8b --- /dev/null +++ b/tests/html/nested-list.html @@ -0,0 +1,36 @@ + + + First +
      +
    • +
    • +
    • 1 +
    • 2 +
    • 3 +
    • +
    • +
    + + Second +
      +
    • +
    • +
    • +
        +
      • 1 +
      • +
          +
        • a +
        • b +
        • c +
        +
      • +
      • 3 +
      +
    • +
    • +
    • +
        + + + diff --git a/tests/html/nested-list.txt b/tests/html/nested-list.txt new file mode 100644 index 0000000..7c65d7b --- /dev/null +++ b/tests/html/nested-list.txt @@ -0,0 +1,21 @@ +First + * + * + * 1 + * 2 + * 3 + * + * +Second + * + * + * + + 1 + + + o a + o b + o c + + 3 + * + * + * diff --git a/tests/html/nested-table-alignment-css.txt b/tests/html/nested-table-alignment-css.txt index 607bafa..690ad59 100644 --- a/tests/html/nested-table-alignment-css.txt +++ b/tests/html/nested-table-alignment-css.txt @@ -1,7 +1,7 @@ column with nested table column 2 column 3 column 4 nested table Tom -11 12 Joe -21 22 +11 12 +21 22 Joe 31 32 Sue -last line +last line \ No newline at end of file diff --git a/tests/html/nested-table-alignment.txt b/tests/html/nested-table-alignment.txt index 6184db7..08642b5 100644 --- a/tests/html/nested-table-alignment.txt +++ b/tests/html/nested-table-alignment.txt @@ -1,7 +1,7 @@ column with nested table column 2 column 3 column 4 nested table Tom - 11 12 Joe - 21 22 + 11 12 + 21 22 Joe 31 32 Sue -last line +last line \ No newline at end of file diff --git a/tests/html/nested-table.html b/tests/html/nested-table.html index fa71723..6cc6bc3 100644 --- a/tests/html/nested-table.html +++ b/tests/html/nested-table.html @@ -1,4 +1,4 @@ - +
        @@ -9,7 +9,7 @@
        column with nested table column 2 column 3
        12
        - Tom + Tom Joe diff --git a/tests/html/nested-table.txt b/tests/html/nested-table.txt index a94a71f..2f4a746 100644 --- a/tests/html/nested-table.txt +++ b/tests/html/nested-table.txt @@ -1,5 +1,5 @@ column with nested table column 2 column 3 -nested table Tom Joe -1 2 +nested table +1 2 Tom Joe -last line +last line \ No newline at end of file diff --git a/tests/html/stackoverflow-list-snippet.html b/tests/html/stackoverflow-list-snippet.html new file mode 100644 index 0000000..6d148a7 --- /dev/null +++ b/tests/html/stackoverflow-list-snippet.html @@ -0,0 +1,34 @@ +
      • +
        +
        +
        +
        +
        +
      • +
      • +
        +
        +
        +
        +
        +
        + + @nbedou docs.python.org/3/library/typing.html#typing.NamedTuple + +– nodakai + Oct 3 '18 at 7:44 +
        +
        +
      • diff --git a/tests/html/stackoverflow-list-snippet.txt b/tests/html/stackoverflow-list-snippet.txt new file mode 100644 index 0000000..38bfc38 --- /dev/null +++ b/tests/html/stackoverflow-list-snippet.txt @@ -0,0 +1,2 @@ +* I obtain "NameError: name 'NamedTuple' is not defined" – nbedou Jul 6 '18 at 12:45 +* @nbedou docs.python.org/3/library/typing.html#typing.NamedTuple – nodakai Oct 3 '18 at 7:44 diff --git a/tests/html/subsequent-headings.html b/tests/html/subsequent-headings.html new file mode 100644 index 0000000..ca3dc1a --- /dev/null +++ b/tests/html/subsequent-headings.html @@ -0,0 +1,24 @@ + + + Test the spacing between subsequent headings + +

        The first

        + + And text, concerning the first heading. + +

        The second

        + Text concerning the second heading. + +

        Subheading

        + Sub1 + +

        This is a subsubtopic

        + +

        Another subheading

        + Sub2 + +

        The third

        + The third and final heading. + + + diff --git a/tests/html/subsequent-headings.json b/tests/html/subsequent-headings.json new file mode 100644 index 0000000..247cf27 --- /dev/null +++ b/tests/html/subsequent-headings.json @@ -0,0 +1,18 @@ +{"annotation_rules": { + "h1": ["heading"], + "h2": ["heading"], + "h3": ["heading"], + "b": ["emphasis"], + "table": ["table"], + "th": ["table-heading"], + "td": ["table-cell"] + }, + "result": [ + ["heading", "The first\n\n"], + ["heading", "\nThe second\n\n"], + ["heading", "\nSubheading\n\n"], + ["heading", "\nThis is a subsubtopic\n\n"], + ["heading", "Another subheading\n\n"], + ["heading", "\nThe third\n\n"] + ] +} diff --git a/tests/html/subsequent-headings.txt b/tests/html/subsequent-headings.txt new file mode 100644 index 0000000..28ceb96 --- /dev/null +++ b/tests/html/subsequent-headings.txt @@ -0,0 +1,21 @@ +The first + +And text, concerning the first heading. + +The second + +Text concerning the second heading. + +Subheading + +Sub1 + +This is a subsubtopic + +Another subheading + +Sub2 + +The third + +The third and final heading. diff --git a/tests/html/table-empty-row.html b/tests/html/table-empty-row.html new file mode 100644 index 0000000..5d34f45 --- /dev/null +++ b/tests/html/table-empty-row.html @@ -0,0 +1,9 @@ + + + Leer + +
        Hallo + Echo +
        (1) + (2) +
        diff --git a/tests/html/table-empty-row.txt b/tests/html/table-empty-row.txt new file mode 100644 index 0000000..3f81159 --- /dev/null +++ b/tests/html/table-empty-row.txt @@ -0,0 +1,5 @@ +Leer +Hallo Echo + +(1) (2) + diff --git a/tests/html/table-in-table.html b/tests/html/table-in-table.html index 70f51af..e108496 100644 --- a/tests/html/table-in-table.html +++ b/tests/html/table-in-table.html @@ -1,35 +1,35 @@

        Single

        First

        - +
        redgreen
        redgreen
        blue
        redgreen

        Second

        - - +
        blue
        redgreen
        +
        blue
        red?green
        blue

        Nested

        - +
        - - @@ -43,6 +43,6 @@

        Nested

        + - + +
        redgreen
        -
        redgreen.
        blue
        redgreen
        +
        blue
        redgreen
        blue
        redgreen
        blue
        -
        blue
        redgreen
        blue
        blue
        + +
        blue
        blue.
        redgreen
        blue
        -
        redgreen
        blue
        redgreen
        redgreen!
        blue
        redgreen
        blue
        blue
        -
        blue
        redgreen
        blue
        + blue! diff --git a/tests/html/table-in-table.json b/tests/html/table-in-table.json new file mode 100644 index 0000000..09e7475 --- /dev/null +++ b/tests/html/table-in-table.json @@ -0,0 +1,25 @@ +{"annotation_rules": { + "h1": ["heading"], + "h2": ["heading"], + "h3": ["heading"], + "table#border": ["table"], + "b": ["bold"], + "i": ["italic"] + }, + "result": [ + ["heading", "Single\n\n"], + ["heading", "First\n\n"], + ["table", "red green\n blue \nred green\n\n"], + ["heading", "\nSecond\n\n"], + ["table", " blue \nred? green\n blue \n\n"], + ["bold", "red?"], + ["heading", "\nNested\n\n"], + ["table", "red green. blue blue \n blue red green red green \nred green blue blue \n \n blue. red green blue \nred green blue red green \n blue red green! blue \n \nred green blue blue \n blue red green red green\nred green blue blue! \n \n"], + ["italic", "green."], + ["italic", "blue."], + ["bold", "green!"], + ["bold", "blue!"] + ] +} + + diff --git a/tests/html/table-in-table.txt b/tests/html/table-in-table.txt index 7582610..2fb35fd 100644 --- a/tests/html/table-in-table.txt +++ b/tests/html/table-in-table.txt @@ -1,28 +1,29 @@ Single - First red green blue red green + Second - blue -red green - blue + blue +red? green + blue + Nested -red green blue blue - blue red green red green -red green blue blue - - blue red green blue -red green blue red green - blue red green blue - -red green blue blue - blue red green red green -red green blue blue +red green. blue blue + blue red green red green +red green blue blue + + blue. red green blue +red green blue red green + blue red green! blue + +red green blue blue + blue red green red green +red green blue blue! \ No newline at end of file diff --git a/tests/html/table-pre.txt b/tests/html/table-pre.txt index 3633aa0..c170f55 100644 --- a/tests/html/table-pre.txt +++ b/tests/html/table-pre.txt @@ -9,5 +9,4 @@ for a in range(10): for (int a=0; a<10; a++) { print(b) System.out.println(b); } - 3.8 14 diff --git a/tests/html/table.html b/tests/html/table.html index 8e2a86a..87dfc98 100644 --- a/tests/html/table.html +++ b/tests/html/table.html @@ -4,7 +4,7 @@ Third a - b + b c diff --git a/tests/html/table.json b/tests/html/table.json new file mode 100644 index 0000000..ddaf853 --- /dev/null +++ b/tests/html/table.json @@ -0,0 +1,20 @@ +{"annotation_rules": { + "h1": ["heading"], + "h2": ["heading"], + "h3": ["heading"], + "b": ["emphasis"], + "table": ["table"], + "th": ["table-heading"], + "td": ["table-cell"] + }, + "result": [ + ["table", "First Second Third\na b c \n"], + ["table-heading", "First"], + ["table-heading", "Second"], + ["table-heading", "Third"], + ["table-cell", "a"], + ["emphasis", "b"], + ["table-cell", "b"], + ["table-cell", "c"] + ] +} diff --git a/tests/html/wikipedia-consequtive-links-and-umlauts.html b/tests/html/wikipedia-consequtive-links-and-umlauts.html new file mode 100644 index 0000000..6a6c2c8 --- /dev/null +++ b/tests/html/wikipedia-consequtive-links-and-umlauts.html @@ -0,0 +1,16 @@ +

        Araschgen | +Chur City | +Dreibündenquartier | +Fürstenwald | +Giacomettiquartier | +Kornquader | +Lacunaquartier | +Masans | +Niederlachen-Untere Au | +Rheinquartier | +Rossboden | +Sand | +Sommerau | +Tittwiesen | +Wiesental +

        diff --git a/tests/html/wikipedia-consequtive-links-and-umlauts.txt b/tests/html/wikipedia-consequtive-links-and-umlauts.txt new file mode 100644 index 0000000..60dc66d --- /dev/null +++ b/tests/html/wikipedia-consequtive-links-and-umlauts.txt @@ -0,0 +1 @@ +Araschgen | Chur City | Dreibündenquartier | Fürstenwald | Giacomettiquartier | Kornquader | Lacunaquartier | Masans | Niederlachen-Untere Au | Rheinquartier | Rossboden | Sand | Sommerau | Tittwiesen | Wiesental diff --git a/tests/html/wikipedia-consequtive-tables.html b/tests/html/wikipedia-consequtive-tables.html new file mode 100644 index 0000000..dbe86d7 --- /dev/null +++ b/tests/html/wikipedia-consequtive-tables.html @@ -0,0 +1,243 @@ + + +
        Hallo
        + + + +
        +
        Monatliche Durchschnittstemperaturen und -niederschläge für Chur 1981–2010
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +Jan +Feb +Mär +Apr +Mai +Jun +Jul +Aug +Sep +Okt +Nov +Dez + + +
        Max. Temperatur (°C) +4,8 +6,4 +11,2 +15,1 +20,0 +22,7 +24,9 +24,1 +20,0 +16,1 +9,5 +5,3 +Ø +15,1 +
        Min. Temperatur (°C) +−2,6 +−2,0 +1,6 +4,6 +8,9 +11,8 +13,8 +13,7 +10,3 +6,6 +1,7 +−1,4 +Ø +5,6 +
        Temperatur (°C) +0,7 +1,8 +5,9 +9,7 +14,3 +17,1 +19,1 +18,5 +14,8 +10,8 +5,2 +1,7 +Ø +10 +
        +
        Niederschlag (mm) +51 +47 +55 +49 +71 +92 +109 +112 +81 +56 +70 +55 +Σ +848 +
        +
        Sonnenstunden (h/d) +3,1 +4,0 +4,5 +4,9 +5,5 +5,9 +6,5 +6,0 +5,2 +4,4 +3,1 +2,6 +Ø +4,6 +
        +
        Regentage (d) +7,3 +6,6 +8,1 +7,5 +9,9 +11,2 +11,0 +11,2 +8,4 +7,0 +8,5 +7,9 +Σ +104,6 +
        + diff --git a/tests/html/wikipedia-consequtive-tables.json b/tests/html/wikipedia-consequtive-tables.json new file mode 100644 index 0000000..9c59689 --- /dev/null +++ b/tests/html/wikipedia-consequtive-tables.json @@ -0,0 +1,32 @@ +{ + "annotation_rules": { + "h1": ["heading"], + "h2": ["heading"], + "h3": ["subheading"], + "h4": ["subheading"], + "h5": ["subheading"], + "i": ["emphasis"], + "b": ["bold"], + "th": ["tableheading"], + "a": ["link"] + }, + "result": [ + ["bold", "Monatliche Durchschnittstemperaturen und -niederschl\u00e4ge f\u00fcr Chur 1981\u20132010"], + ["link", "Temperatur"], + ["bold", "\u00d8"], + ["bold", "15,1"], + ["bold", "\u00d8"], + ["bold", "5,6"], + ["bold", "\u00d8"], + ["bold", "10"], + ["link", "Niederschlag"], + ["bold", "\u03a3"], + ["bold", "848"], + ["link", "Sonnenstunden"], + ["bold", "\u00d8"], + ["bold", "4,6"], + ["link", "Regentage"], + ["bold", "\u03a3"], + ["bold", "104,6"] + ] +} diff --git a/tests/html/wikipedia-enumeration-annotation.html b/tests/html/wikipedia-enumeration-annotation.html new file mode 100644 index 0000000..f6ac43d --- /dev/null +++ b/tests/html/wikipedia-enumeration-annotation.html @@ -0,0 +1,66 @@ +
        +

        Inhaltsverzeichnis

        +
        +Another marker. + + +

        End of enumeration

        + +Closing remarks and an emphasized text portion. diff --git a/tests/html/wikipedia-enumeration-annotation.json b/tests/html/wikipedia-enumeration-annotation.json new file mode 100644 index 0000000..1d066a4 --- /dev/null +++ b/tests/html/wikipedia-enumeration-annotation.json @@ -0,0 +1,19 @@ +{"annotation_rules": { + "h1": ["heading"], + "h2": ["heading"], + "h3": ["heading"], + "b": ["emphasis"], + "table": ["table"], + "th": ["table-heading"], + "td": ["table-cell"] + }, + "result": [ + ["heading", "Inhaltsverzeichnis\n\n"], + ["emphasis", "marker"], + ["emphasis", "marker2"], + ["emphasis", "marker3"], + ["emphasis", "marker31"], + ["heading", "\nEnd of enumeration\n\n"], + ["emphasis", "emphasized text portion"] + ] +} diff --git a/tests/html/wikipedia-enumeration-annotation.txt b/tests/html/wikipedia-enumeration-annotation.txt new file mode 100644 index 0000000..a6b487e --- /dev/null +++ b/tests/html/wikipedia-enumeration-annotation.txt @@ -0,0 +1,45 @@ +Inhaltsverzeichnis + +Another marker. + * 1 Name und Aussprache - marker2 + * 2 Geographie - marker3 + + 2.1 Stadtquartiere - marker31 + + 2.2 Klima + * 3 Geschichte + + 3.1 Vorrömische Zeit + + 3.2 Antike + + 3.3 Mittelalter + + 3.4 Wende zur Neuzeit + + 3.5 Reformation und Dreissigjähriger Krieg + + 3.6 19. Jahrhundert + + 3.7 Moderne und Gegenwart + * 4 Bevölkerung + + 4.1 Sprachen + + 4.2 Religionen + * 5 Wappen + * 6 Politik + + 6.1 Stadtpräsidenten + + 6.2 Partnerstädte + * 7 Wirtschaft und Infrastruktur + + 7.1 Wirtschaft + + 7.2 Land- und Alpwirtschaft + + 7.3 Verkehr + + 7.4 Bildung + + 7.5 Medien + + 7.6 Kultur + + 7.7 Justiz + + 7.8 Friedhöfe + + 7.9 Sportvereine + * 8 Sehenswürdigkeiten und Tourismus + + 8.1 Tourismus + * 9 Besonderes + * 10 Galerie + * 11 Persönlichkeiten + * 12 Siehe auch + * 13 Literatur + * 14 Weblinks + * 15 Einzelnachweise + +End of enumeration + +Closing remarks and an emphasized text portion. diff --git a/tests/html/wikipedia-equation.html b/tests/html/wikipedia-equation.html new file mode 100644 index 0000000..f9851b7 --- /dev/null +++ b/tests/html/wikipedia-equation.html @@ -0,0 +1,10 @@ + + +
        int factorial(int x) {
        +    if (x <= 1)
        +            return 1;
        +
        +                return x * factorial(x - 1);
        +                }
        +
        + diff --git a/tests/html/wikipedia-equation.txt b/tests/html/wikipedia-equation.txt new file mode 100644 index 0000000..cae169e --- /dev/null +++ b/tests/html/wikipedia-equation.txt @@ -0,0 +1,7 @@ +int factorial(int x) { + if (x <= 1) + return 1; + + return x * factorial(x - 1); + } + diff --git a/tests/html/wikipedia-table-bordercase-verticial-alignmnet.html b/tests/html/wikipedia-table-bordercase-verticial-alignmnet.html new file mode 100644 index 0000000..58f54d8 --- /dev/null +++ b/tests/html/wikipedia-table-bordercase-verticial-alignmnet.html @@ -0,0 +1,28 @@ + + + + + +
        + + + + + +
        diff --git a/tests/html/wikipedia-table-bordercase-verticial-alignmnet.json b/tests/html/wikipedia-table-bordercase-verticial-alignmnet.json new file mode 100644 index 0000000..800e196 --- /dev/null +++ b/tests/html/wikipedia-table-bordercase-verticial-alignmnet.json @@ -0,0 +1,31 @@ +{ + "annotation_rules": { + "h1": ["heading"], + "h2": ["heading"], + "h3": ["subheading"], + "h4": ["subheading"], + "h5": ["subheading"], + "i": ["emphasis"], + "b": ["bold"], + "th": ["tableheading"], + "a": ["link"] + }, + "result": [ + ["link", " * Araschgen"], + ["link", " * F\u00fcrstenwald"], + ["link", " * Masans"], + ["link", " * Niederlachen-Untere Au"], + ["link", " * Lacuna"], + ["link", " * Giacomettiquartier"], + ["link", " * Chur West"], + ["link", " * Dreib\u00fcnden"], + ["link", " * Sand"], + ["link", " * Kornquader"], + ["link", " * Rheinquartier"], + ["link", " * Rossboden"], + ["link", "Sommerau"], + ["link", " * Wiesental"], + ["link", " * Tittwiesen"], + ["link", "[8]"] + ] +} diff --git a/tests/html/wikipedia-table-bordercase1.html b/tests/html/wikipedia-table-bordercase1.html new file mode 100644 index 0000000..c751947 --- /dev/null +++ b/tests/html/wikipedia-table-bordercase1.html @@ -0,0 +1,21 @@ +
        +Dieser Artikel behandelt den Bündner Hauptort. Für andere Bedeutungen siehe Chur (Begriffsklärung).
        + + + + + + + + + + + + +
        Chur +
        Wappen von Chur
        +
        Staat: +SchweizSchweiz Schweiz +
        Kanton: +Kanton GraubündenKanton Graubünden Graubünden (GR) +
        diff --git a/tests/html/wikipedia-table-bordercase1.json b/tests/html/wikipedia-table-bordercase1.json new file mode 100644 index 0000000..7f96ed9 --- /dev/null +++ b/tests/html/wikipedia-table-bordercase1.json @@ -0,0 +1,21 @@ +{ + "annotation_rules": { + "h1": ["heading"], + "h2": ["heading"], + "h3": ["subheading"], + "h4": ["subheading"], + "h5": ["subheading"], + "i": ["emphasis"], + "b": ["bold"], + "th": ["tableheading"], + "a": ["link"] + }, + "result": [ + ["link", "Chur (Begriffskl\u00e4rung)"], + ["tableheading", "Chur "], + ["link", "Staat"], + ["link", "Schweiz"], + ["link", "Kanton"], + ["link", "Graub\u00fcnden"] + ] +} diff --git a/tests/html/wikipedia-table.html b/tests/html/wikipedia-table.html index 2474362..6d207ad 100644 --- a/tests/html/wikipedia-table.html +++ b/tests/html/wikipedia-table.html @@ -1,3 +1,6 @@ +

        Ehre sei Gott in der Höhe!

        +und Friede den Menschen, die guten Willens sind. +

        Bevölkerung[Bearbeiten]

        diff --git a/tests/html/wikipedia-table.json b/tests/html/wikipedia-table.json new file mode 100644 index 0000000..d648f07 --- /dev/null +++ b/tests/html/wikipedia-table.json @@ -0,0 +1,33 @@ +{ + "annotation_rules": { + "h1": ["heading"], + "h2": ["heading"], + "h3": ["subheading"], + "h4": ["subheading"], + "h5": ["subheading"], + "i": ["emphasis"], + "b": ["bold"], + "table": ["table"], + "th": ["tableheading"], + "a": ["link"] + }, + "result": [ + ["heading", "Ehre sei Gott in der H\u00f6he!\n\n"], + ["link", "Bearbeiten"], + ["heading", "\nBev\u00f6lkerung[Bearbeiten]\n\n"], + ["table", "Bev\u00f6lkerungsentwicklung[6]\nJahr 1500 1860 1900 1950 1970 2000 2005 2011 2012 \nEinwohner ca. 1500 3990 11'532 19'382 31'193 32'989 32'409 36'690 37'036\n"], + ["link", "[6]"], + ["tableheading", "Bev\u00f6lkerungsentwicklung[6]"], + ["tableheading", "Jahr"], + ["tableheading", "1500"], + ["tableheading", "1860"], + ["tableheading", "1900"], + ["tableheading", "1950"], + ["tableheading", "1970"], + ["tableheading", "2000"], + ["tableheading", "2005"], + ["tableheading", "2011"], + ["tableheading", "2012"], + ["tableheading", "Einwohner"] + ] +} diff --git a/tests/html/wikipedia-table.txt b/tests/html/wikipedia-table.txt index f1fe136..d39986e 100644 --- a/tests/html/wikipedia-table.txt +++ b/tests/html/wikipedia-table.txt @@ -1,5 +1,9 @@ +Ehre sei Gott in der Höhe! + +und Friede den Menschen, die guten Willens sind. + Bevölkerung[Bearbeiten] Bevölkerungsentwicklung[6] Jahr 1500 1860 1900 1950 1970 2000 2005 2011 2012 -Einwohner ca. 1500 3990 11'532 19'382 31'193 32'989 32'409 36'690 37'036 +Einwohner ca. 1500 3990 11'532 19'382 31'193 32'989 32'409 36'690 37'036 \ No newline at end of file diff --git a/tests/test_annotation.py b/tests/test_annotation.py new file mode 100644 index 0000000..b19ddeb --- /dev/null +++ b/tests/test_annotation.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python +# encoding: utf-8 + +""" +Tests the Table formatting with different parameters such as width and +alignment +""" + +from inscriptis.annotation import Annotation, horizontal_shift +from inscriptis.html_properties import HorizontalAlignment + + +def test_horizontal_shift(): + a = [Annotation(0, 4, 'test')] + + # no shift + assert horizontal_shift(a, + content_width=5, + line_width=10, + align=HorizontalAlignment.left, + shift=0).pop() == Annotation(0, 4, 'test') + + # shift + assert horizontal_shift(a, + content_width=5, + line_width=10, + align=HorizontalAlignment.left, + shift=3).pop() == Annotation(3, 7, 'test') + + # realignment to the right + assert horizontal_shift(a, + content_width=len('test'), + line_width=10, + align=HorizontalAlignment.right, + shift=0).pop() == Annotation(6, 10, 'test') + assert '{:>10}'.format('test')[6:10] == 'test' + + + # shift + realignment to the right + assert horizontal_shift(a, + content_width=len('test'), + line_width=10, + align=HorizontalAlignment.right, + shift=3).pop() == Annotation(9, 13, 'test') + + # realignment to the center + assert horizontal_shift(a, + content_width=len('test'), + line_width=10, + align=HorizontalAlignment.center, + shift=0).pop() == Annotation(3, 7, 'test') + assert '{:^10}'.format('test')[3:7] == 'test' + + assert horizontal_shift(a, + content_width=len('test'), + line_width=11, + align=HorizontalAlignment.center, + shift=0).pop() == Annotation(3, 7, 'test') + assert '{:^11}'.format('test')[3:7] == 'test' + + # realignment + shift + assert horizontal_shift(a, + content_width=len('test'), + line_width=11, + align=HorizontalAlignment.center, + shift=7).pop() == Annotation(10, 14, 'test') + diff --git a/tests/test_annotation_output_processor.py b/tests/test_annotation_output_processor.py new file mode 100644 index 0000000..ea025ec --- /dev/null +++ b/tests/test_annotation_output_processor.py @@ -0,0 +1,79 @@ +#!/usr/bin/env python + +""" +Test the annotation output formatter. +""" + +import pytest + +from inscriptis.annotation.output import AnnotationProcessor +from inscriptis.annotation.output.html import HtmlExtractor +from inscriptis.annotation.output.surface import SurfaceExtractor +from inscriptis.annotation.output.xml import XmlExtractor + +EXAMPLE_OUTPUT = {'text': 'Chur\n\nChur is the capital and largest town of ' + 'the Swiss canton of the Grisons and lies in the ' + 'Grisonian Rhine Valley.', + 'label': [[0, 4, 'heading'], + [0, 4, 'h1'], + [6, 10, 'emphasis']]} + + +def test_abstract_class(): + processor = AnnotationProcessor() + + with pytest.raises(NotImplementedError): + result = processor(EXAMPLE_OUTPUT) + + +def test_surface_annotator(): + processor = SurfaceExtractor() + result = processor(EXAMPLE_OUTPUT) + + # the old keys haven't been changed + assert 'text' in result + assert 'label' in result + + # and we have additional information on surface forms :) + assert result['surface'] == [('heading', 'Chur'), + ('h1', 'Chur'), + ('emphasis', 'Chur')] + + +def test_xml_annotator(): + processor = XmlExtractor() + result = processor(EXAMPLE_OUTPUT) + + # and we have additional information on surface forms :) + assert result == ('' + '

        Chur

        \n\n' + 'Chur is the capital and largest town ' + 'of the Swiss canton of the Grisons and lies in ' + 'the Grisonian Rhine Valley.') + + +def test_html_annotator(): + processor = HtmlExtractor() + result = processor(EXAMPLE_OUTPUT) + + assert result.startswith('' + '
        heading'
        +                           ''
        +                           'h1'
        +                           'Chur
        \n' + '
        \n'
        +                           '
        emphasis'
        +                           'Chur is the capital '
        +                           'and largest town of the Swiss canton of the '
        +                            'Grisons and lies in the Grisonian Rhine Valley.'
        +                           '
        ') + + +def test_trailing_tag_annotation(): + processor = XmlExtractor() + result = processor({'text': 'Ehre sei Gott!', + 'label': [[9, 14, 'emphasis']]}) + + assert result == ('' + 'Ehre sei Gott!') diff --git a/tests/test_annotation_rule_parsing.py b/tests/test_annotation_rule_parsing.py new file mode 100644 index 0000000..fef265a --- /dev/null +++ b/tests/test_annotation_rule_parsing.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python +# encoding: utf-8 + +""" +Tests the Table formatting with different parameters such as width and +alignment +""" + +from copy import deepcopy + +from inscriptis.css_profiles import CSS_PROFILES +from inscriptis.annotation.parser import AnnotationModel, ApplyAnnotation +from inscriptis.model.attribute import Attribute +from inscriptis.model.html_element import HtmlElement + + +def test_parse(): + """ + basic rule parsing. + """ + rules = {'table#border=1': ['table'], + 'hr': ['horizontal-line']} + tags, attrs = AnnotationModel._parse(rules) + + assert tags == {'hr': ['horizontal-line']} + + apply_annotation= attrs[0] + assert apply_annotation.match_tag == 'table' + assert apply_annotation.match_value == '1' + assert apply_annotation.attr == 'border' + + e = HtmlElement(tag='table') + apply_annotation.apply('1', e) + assert e.annotation == ('table', ) + + +def test_apply_annotation(): + """ + rule application. + """ + rules = {'table#border=1': ['table'], + 'hr': ['horizontal-line'], + '#color=red': ['red'], + '#bgcolor': ['bgcolor']} + + css = deepcopy(CSS_PROFILES['strict']) + annotation_model = AnnotationModel(css, rules) + assert annotation_model.css['hr'].annotation == ('horizontal-line', ) + + attribute_handler = Attribute() + attribute_handler.merge_attribute_map(annotation_model.css_attr) + assert 'table#border=1' in str(attribute_handler.attribute_mapping['border']) + assert '{any}#color=red' in str(attribute_handler.attribute_mapping['color']) + assert '{any}#bgcolor={any}' in str(attribute_handler.attribute_mapping['bgcolor']) + +def test_merged_attribute(): + """ + test multiple rules per attribute + """ + rules = {'#color=white': ['white'], + '#color=yellow': ['yellow']} + css = deepcopy(CSS_PROFILES['strict']) + annotation_model = AnnotationModel(css, rules) + + attribute_handler = Attribute() + attribute_handler.merge_attribute_map(annotation_model.css_attr) + + e = HtmlElement() + attribute_handler.attribute_mapping['color']('green', e) + assert e.annotation == () + attribute_handler.attribute_mapping['color']('yellow', e) + assert e.annotation == ('yellow', ) + attribute_handler.attribute_mapping['color']('white', e) + assert e.annotation == ('yellow', 'white') + + diff --git a/tests/test_block.py b/tests/test_block.py new file mode 100644 index 0000000..21ac592 --- /dev/null +++ b/tests/test_block.py @@ -0,0 +1,65 @@ +""" +Test cases for the Block class. +""" +from inscriptis.model.canvas.block import Block +from inscriptis.model.canvas.prefix import Prefix + + +def test_merge_normal_text_collapsable_whitespaces(): + """ + test cases where the block has collapsable whitespaces + """ + b = Block(0, Prefix()) + b.merge_normal_text("Hallo") + assert b._content == 'Hallo' + assert not b.collapsable_whitespace + + b = Block(0, Prefix()) + b.merge_normal_text(" Hallo ") + assert b._content == 'Hallo ' + assert b.collapsable_whitespace + + b = Block(0, Prefix()) + b.merge_normal_text('') + assert b._content == '' + assert b.collapsable_whitespace + + b.merge_normal_text(' ') + assert b._content == '' + assert b.collapsable_whitespace + + b.merge_normal_text(' ') + assert b._content == '' + assert b.collapsable_whitespace + + +def test_merge_normal_non_collapsable_whitespaces(): + b = Block(0, Prefix()) + b.collapsable_whitespace = False + b.merge_normal_text("Hallo") + assert b._content == 'Hallo' + assert not b.collapsable_whitespace + + b = Block(0, Prefix()) + b.collapsable_whitespace = False + b.merge_normal_text(" Hallo ") + assert b._content == ' Hallo ' + assert b.collapsable_whitespace + + b = Block(0, Prefix()) + b.collapsable_whitespace = False + b.merge_normal_text('') + assert b._content == '' + assert not b.collapsable_whitespace + + b = Block(0, Prefix()) + b.collapsable_whitespace = False + b.merge_normal_text(' ') + assert b._content == ' ' + assert b.collapsable_whitespace + + b = Block(0, Prefix()) + b.collapsable_whitespace = False + b.merge_normal_text(' ') + assert b._content == ' ' + assert b.collapsable_whitespace diff --git a/tests/test_broken_table_handling.py b/tests/test_broken_table_handling.py index 124c6da..bd210e9 100644 --- a/tests/test_broken_table_handling.py +++ b/tests/test_broken_table_handling.py @@ -14,14 +14,16 @@ def test_forgotten_td_close_tag(): # one line (i.e., missing before the next - html = (u'hallo
        and the next
        ' + html = ('hallo
        ' '' - u'
        12
        echo') - assert get_text(html, config) == u'hallo\n1 2\necho' + '
        echo') + print(html) + # assert get_text(html, config) == u'hallo\n1 2\necho' # two lines (i.e. missing before the and before the - html = (u'hallo' + html = ('hallo
        ' '
        12' '
        34' - u'
        echo') - assert get_text(html, config) == u'hallo\n1 2\n3 4\necho' + 'echo') + print(html) + assert get_text(html, config) == u'hallo\n1 2\n3 4\n\necho' diff --git a/tests/test_double_a.py b/tests/test_double_a.py index 83465b4..24623bd 100644 --- a/tests/test_double_a.py +++ b/tests/test_double_a.py @@ -7,6 +7,7 @@ from inscriptis import get_text + def test_successive_a(): html = 'first' \ 'second' diff --git a/tests/test_empty_string.py b/tests/test_empty_string.py index 4e1a10c..d436dc1 100644 --- a/tests/test_empty_string.py +++ b/tests/test_empty_string.py @@ -7,6 +7,7 @@ from inscriptis import get_text + def test_empty_and_corrupt(): assert get_text("test").strip() == "test" assert get_text(" ") == "" diff --git a/tests/test_engine.py b/tests/test_engine.py new file mode 100644 index 0000000..728191b --- /dev/null +++ b/tests/test_engine.py @@ -0,0 +1,11 @@ +# test borderline cases + +from inscriptis import get_text, get_annotated_text + + +def test_text_from_empty_content(): + assert get_text('') == '' + + +def test_annotations_from_empty_content(): + assert get_annotated_text('') == {} diff --git a/tests/test_html_snippets.py b/tests/test_html_snippets.py index f2efca5..9e7197f 100644 --- a/tests/test_html_snippets.py +++ b/tests/test_html_snippets.py @@ -1,8 +1,8 @@ #!/usr/bin/env python -""" ensures that two successive text contain - a space between each other, if there is a linebreak - or space between the tags. +""" +Test HTML snippets in the project's HTML directory. The corresponding .txt file +contains the reference conversion. """ from os.path import dirname, join from glob import glob @@ -22,18 +22,21 @@ def test_html_snippets(filter_str=''): with open(testcase_txt) as f: reference_txt = f.read().rstrip() - with open(testcase_txt.replace(".txt", ".html")) as f: + with open(testcase_txt.replace('.txt', '.html')) as f: print(f.name) - html = "{}".format(f.read()) + html = '{}'.format(f.read()) converted_txt = get_text(html, ParserConfig( css=CSS_PROFILES['strict'])).rstrip() - reference_txt = '\n'.join([line + "<" for line in reference_txt.split("\n")]) - converted_txt = '\n'.join([line + "<" for line in converted_txt.split("\n")]) if converted_txt != reference_txt: - print("File:{}\nHTML:\n{}\n\nReference:\n{}\n\nConverted:\n{}" + print('File:{}\nHTML:\n{}\n\nReference:\n{}\n\nConverted:\n{}' .format(testcase_txt, html, reference_txt, converted_txt)) + print('HTML file:', testcase_txt.replace('.txt', '.html')) + print("Visualize differences with `vimdiff reference.txt " + "converted.txt`") + open("reference.txt", "w").write(reference_txt) + open("converted.txt", "w").write(converted_txt) assert converted_txt == reference_txt diff --git a/tests/test_html_snippets_annotations.py b/tests/test_html_snippets_annotations.py new file mode 100644 index 0000000..9655afa --- /dev/null +++ b/tests/test_html_snippets_annotations.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python + +""" +This test case verifies that annotation are correctly computed. +""" +import os +from json import load +from glob import glob +from typing import List + +from inscriptis import get_annotated_text +from inscriptis.css_profiles import CSS_PROFILES +from inscriptis.model.config import ParserConfig + +TESTCASE_PATTERN = os.path.join(os.path.dirname(__file__), 'html/*.json') + + +def assert_equal_ignoring_whitespace(reference: List[str], + converted: List[str]) -> bool: + for (ref_tag, ref_str), (conv_tag, conv_str) in zip(reference, converted): + + assert ref_tag == conv_tag + assert ''.join(ref_str.split()) == ''.join(conv_str.split()) + + +def test_html_annotations(filter_str=''): + for annotation_file in glob(TESTCASE_PATTERN): + if filter_str not in annotation_file: + continue + + with open(annotation_file) as f: + reference = load(f) + + with open(annotation_file.replace('.json', '.html')) as f: + print(f.name) + html = '{}'.format(f.read()) + + for indentation_strategy in ('strict', 'relaxed'): + result = get_annotated_text(html, ParserConfig( + css=CSS_PROFILES[indentation_strategy], + annotation_rules=reference['annotation_rules'])) + + converted = [[a[2], result['text'][a[0]:a[1]]] + for a in result['label']] + + if reference['result'] != converted: + print("Reference:") + print(reference['result']) + print("\nConverted (indentation strategy: {})".format(indentation_strategy)) + print(converted) + + if indentation_strategy == 'strict': + assert reference['result'] == converted + else: + assert_equal_ignoring_whitespace(reference['result'], + converted) + + +if __name__ == '__main__': + from sys import argv + + filter_str = argv[1] if len(argv) > 1 else '' + test_html_annotations(filter_str) diff --git a/tests/test_limit_whitespace_affixes.py b/tests/test_limit_whitespace_affixes.py index 202451e..20d6666 100644 --- a/tests/test_limit_whitespace_affixes.py +++ b/tests/test_limit_whitespace_affixes.py @@ -4,11 +4,12 @@ Tests different HTML to text conversion options. """ +from copy import copy from inscriptis import get_text from inscriptis.css_profiles import RELAXED_CSS_PROFILE from inscriptis.html_properties import Display, WhiteSpace from inscriptis.model.config import ParserConfig -from inscriptis.model.css import HtmlElement +from inscriptis.model.html_element import HtmlElement def test_html_element_refinement(): @@ -18,24 +19,24 @@ def test_html_element_refinement(): code = HtmlElement('code') # refinement with pre and whitespaces - refined = pre.get_refined_html_element(new) + refined = pre.get_refined_html_element(copy(new)) assert refined.prefix == '' assert refined.suffix == '' # refinement with code and whitespaces - refined = code.get_refined_html_element(new) + refined = code.get_refined_html_element(copy(new)) assert refined.prefix == ' ' assert refined.suffix == ' ' # refinement with pre and non-whitespaces new.prefix = ' 1. ' new.suffix = '<' - refined = pre.get_refined_html_element(new) + refined = pre.get_refined_html_element(copy(new)) assert refined.prefix == ' 1. ' assert refined.suffix == '<' # refinement with code and non-whitespaces - refined = code.get_refined_html_element(new) + refined = code.get_refined_html_element(copy(new)) assert refined.prefix == ' 1. ' assert refined.suffix == '<' @@ -53,7 +54,6 @@ def hallo(): ''' config = ParserConfig(css=RELAXED_CSS_PROFILE) assert get_text(html, config).strip() == \ - 'hallo echo\n' \ - '\n' \ + 'hallo echo\n\n' \ 'def hallo():\n' \ ' print("echo")' diff --git a/tests/test_margin_before_at_start.py b/tests/test_margin_before_at_start.py index 1a4a343..bcadbc5 100644 --- a/tests/test_margin_before_at_start.py +++ b/tests/test_margin_before_at_start.py @@ -15,11 +15,11 @@ def test_content(): def test_margin_before(): html = '

        first

        ' - assert get_text(html) == 'first' + assert get_text(html) == 'first\n' html = 'first

        ' \ 'second

        ' - assert get_text(html) == 'first\nsecond' + assert get_text(html) == 'first\n\nsecond\n' def test_br(): diff --git a/tests/test_margin_handling.py b/tests/test_margin_handling.py new file mode 100644 index 0000000..c09d944 --- /dev/null +++ b/tests/test_margin_handling.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python +# encoding: utf-8 + +""" +Tests different white-space handling. +""" + +from inscriptis import get_text +from inscriptis.css_profiles import CSS_PROFILES +from inscriptis.model.config import ParserConfig + +config = ParserConfig(css=CSS_PROFILES['strict']) + + +def test_margin_handling(): + html = u'''Hallo +
        Echo +
        Mecho
        +
        + sei Gott + ''' + assert get_text(html, config) == u'Hallo\n\nEcho\n\n\nMecho\n\nsei Gott' + + html = u'''Hallo +
        Echo
        +
        Mecho
        + sei Gott + ''' + assert get_text(html, config) == u'Hallo\n\nEcho\n\n\nMecho\nsei Gott' + + html = u'''Hallo +
        +
        Ehre
        +
        + sei Gott + ''' + assert get_text(html, config) == u'Hallo\n\n\nEhre\n\nsei Gott' diff --git a/tests/test_metadata.py b/tests/test_metadata.py new file mode 100644 index 0000000..9ffe217 --- /dev/null +++ b/tests/test_metadata.py @@ -0,0 +1,19 @@ +from inscriptis.metadata import (__author__, __author_email__, __copyright__, + __license__, __version__) + + +def test_metadata(): + """Test inscriptis package metadata.""" + assert 'Albert Weichselbraun' in __author__ + assert 'Fabian Odoni' in __author__ + + assert '@' in __author_email__ + + assert '2016-' in __copyright__ + assert 'Albert Weichselbraun' in __copyright__ + assert 'Fabian Odoni' in __copyright__ + + assert __license__ == 'Apache 2.0' + + assert __version__[0].isnumeric() + assert '.' in __version__ diff --git a/tests/test_model_html_element_canvas.py b/tests/test_model_html_element_canvas.py new file mode 100644 index 0000000..ecc4698 --- /dev/null +++ b/tests/test_model_html_element_canvas.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python +# encoding: utf-8 + +""" +Tests the rendering of a single table line. +""" + +from inscriptis.model.canvas import Canvas +from inscriptis.model.html_element import HtmlElement +from inscriptis.html_properties import Display + + +def _get_text(html_element): + """ + Returns + the text formatted based on the current HTML element. + """ + c = Canvas() + html_element.canvas = c + + HtmlElement().set_canvas(c).write("first") + + c.open_tag(html_element) + html_element.write("Ehre sei Gott!") + c.close_tag(html_element) + + HtmlElement().set_canvas(c).write("last") + c._flush_inline() + return '\n'.join(c.blocks) + + +def test_formatting(): + # standard line + + h = HtmlElement() + assert _get_text(h) == 'firstEhre sei Gott!last' + + h.display = Display.block + h.margin_before = 1 + h.margin_after = 2 + print(h) + print(_get_text(h)) + assert _get_text(h) == 'first\n\nEhre sei Gott!\n\n\nlast' + + # list bullet without padding_inline + h.list_bullet = "* " + assert _get_text(h) == 'first\n\n* Ehre sei Gott!\n\n\nlast' + + # add a padding_inline + h.padding_inline = 3 + assert _get_text(h) == 'first\n\n * Ehre sei Gott!\n\n\nlast' + + # and prefixes + suffixes + h.prefix = '>>' + h.suffix = '<<' + assert _get_text(h)== 'first\n\n * >>Ehre sei Gott!<<\n\n\nlast' diff --git a/tests/test_model_line.py b/tests/test_model_line.py deleted file mode 100644 index 98a7a2f..0000000 --- a/tests/test_model_line.py +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env python -# encoding: utf-8 - -""" -Tests the rendering of a single table line. -""" - -from inscriptis.model.canvas import Line - - -def test_cell_formatting(): - # standard line - line = Line() - line.margin_before = 0 - line.margin_after = 0 - line.prefix = '' - line.suffix = '' - line.content = 'Ehre sei Gott!' - line.list_bullet = '' - line.padding = 0 - - assert line.get_text() == 'Ehre sei Gott!' - # string representation - assert str(line) == \ - "" - assert repr(line) == str(line) - - # add margins - line.margin_before = 1 - line.margin_after = 2 - assert line.get_text() == '\nEhre sei Gott!\n\n' - - # list bullet without padding - line.list_bullet = "* " - assert line.get_text() == '\n* Ehre sei Gott!\n\n' - - # add a padding - line.padding = 3 - assert line.get_text() == '\n * Ehre sei Gott!\n\n' - - # and prefixes + suffixes - line.prefix = '>>' - line.suffix = '<<' - assert line.get_text() == '\n * >>Ehre sei Gott!<<\n\n' diff --git a/tests/test_model_prefix.py b/tests/test_model_prefix.py new file mode 100644 index 0000000..6682bbb --- /dev/null +++ b/tests/test_model_prefix.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python +# encoding: utf-8 + +""" +Tests the rendering of a single table line. +""" + +from inscriptis.model.canvas import Prefix + + +def test_simple_prefix(): + p = Prefix() + + p.register_prefix(5, '1. ') + + # first use + assert p.first == ' 1. ' + + # the prefix has been consumed + assert p.first == '' + + # prefix used to indent lines separated with newlines + assert p.rest == ' ' + + +def test_combined_prefix(): + p = Prefix() + + p.register_prefix(5, '1. ') + p.register_prefix(2, '') + + assert p.first == ' 1. ' + assert p.first == '' + + p.remove_last_prefix() + assert p.first == '' + + p.remove_last_prefix() + # final consumption - no prefix + assert p.first == '' + + # ensure that there are no interactions between different runs with + # bullets + p.consumed = False + p.register_prefix(5, '2. ') + p.register_prefix(2, '- ') + + assert p.first == ' - ' + assert p.first == '' + assert p.rest == ' ' + + p.consumed = False + p.remove_last_prefix() + assert p.first == ' 2. ' + assert p.rest == ' ' + diff --git a/tests/test_parse_css.py b/tests/test_parse_css.py index 3c3c54d..9822644 100644 --- a/tests/test_parse_css.py +++ b/tests/test_parse_css.py @@ -9,13 +9,14 @@ from inscriptis.css_profiles import CSS_PROFILES from inscriptis.html_properties import (Display, WhiteSpace, VerticalAlignment, HorizontalAlignment) -from inscriptis.model.css import CssParse, HtmlElement +from inscriptis.model.css import CssParse +from inscriptis.model.html_element import HtmlElement def test_css_parsing(): html_element = copy(CSS_PROFILES['strict']['div']) CssParse.attr_style('padding_left: 8px; display: block', html_element) - assert html_element.padding == 1 + assert html_element.padding_inline == 1 assert html_element.display == Display.block CssParse.attr_style('margin_before: 8em; display: inline', html_element) @@ -28,13 +29,15 @@ def test_html_element_str(): Tests the string representation of an HtmlElement. ''' html_element = HtmlElement('div', '', '', Display.inline, 0, 0, 0, - WhiteSpace.pre) + '', WhiteSpace.pre) assert str(html_element) == ('
        ') + 'valign=VerticalAlignment.middle, ' + 'annotation=()>') def test_parse_vertical_align(): @@ -46,6 +49,7 @@ def test_parse_vertical_align(): CssParse.attr_vertical_align('unknown', html_element) assert html_element.valign == VerticalAlignment.top + def test_parse_horizontal_align(): html_element = HtmlElement() CssParse.attr_horizontal_align('center', html_element) diff --git a/tests/test_style_parsing.py b/tests/test_style_parsing.py index 4956346..8efce8f 100644 --- a/tests/test_style_parsing.py +++ b/tests/test_style_parsing.py @@ -4,7 +4,8 @@ Tests inscriptis' parsing of CSS style definitions. """ -from inscriptis.model.css import CssParse, HtmlElement +from inscriptis.model.css import CssParse +from inscriptis.model.html_element import HtmlElement def test_style_unit_parsing(): diff --git a/tests/test_table_cell.py b/tests/test_table_cell.py index fce80cb..8c728b2 100644 --- a/tests/test_table_cell.py +++ b/tests/test_table_cell.py @@ -9,48 +9,39 @@ from inscriptis.model.table import TableCell from inscriptis.html_properties import HorizontalAlignment, VerticalAlignment +def test_height(): + cell = TableCell(HorizontalAlignment.left, VerticalAlignment.top) + + cell.blocks = ['hallo'] + cell.normalize_blocks() + assert cell.height == len('\n'.join(cell.blocks).split('\n')) + + cell.blocks = ['hallo', 'echo'] + cell.normalize_blocks() + assert cell.height == 2 + + cell.blocks = ['hallo\necho'] + cell.normalize_blocks() + assert cell.height == 2 + + cell.blocks = ['hallo\necho', 'Ehre sei Gott', 'Jump\n&\nRun!\n\n\n'] + cell.normalize_blocks() + assert cell.height == 9 + assert cell.height == len('\n'.join(cell.blocks).split('\n')) + +def test_width(): + cell = TableCell(HorizontalAlignment.left, VerticalAlignment.top) + + cell.blocks = ['hallo'] + cell.normalize_blocks() + assert cell.width == len(cell.blocks[0]) + + cell.blocks = ['hallo\necho', 'Ehre sei Gott', 'Jump\n&\nRun!\n\n\n'] + cell.normalize_blocks() + assert cell.width == len('Ehre sei Gott') + + # fixed set width + cell.width = 95 + cell.normalize_blocks() + assert cell.width == 95 -def test_horizontal_cell_formatting(): - - canvas = [] - cell = TableCell(canvas=canvas, align=HorizontalAlignment.left, - valign=VerticalAlignment.top) - cell.width = 16 - canvas.append('Ehre sei Gott!') - - # left alignment - assert cell.get_cell_lines() == ['Ehre sei Gott! '] - - # right alignment - cell.align = HorizontalAlignment.right - assert cell.get_cell_lines() == [' Ehre sei Gott!'] - - -def test_vertical_cell_formatting(): - canvas = [] - cell = TableCell(canvas=canvas, align=HorizontalAlignment.left, - valign=VerticalAlignment.top) - cell.width = 16 - cell.height = 4 - canvas.append('Ehre sei Gott!') - - # default top alignment - assert cell.get_cell_lines() == ['Ehre sei Gott! ', - ' ', - ' ', - ' '] - - # bottom alignment - cell.valign = VerticalAlignment.bottom - assert cell.get_cell_lines() == [' ', - ' ', - ' ', - 'Ehre sei Gott! '] - - # middle alignment - cell.valign = VerticalAlignment.middle - print(cell.get_cell_lines()) - assert cell.get_cell_lines() == [' ', - 'Ehre sei Gott! ', - ' ', - ' '] diff --git a/tests/test_table_cell_formatting.py b/tests/test_table_cell_formatting.py new file mode 100644 index 0000000..7062d78 --- /dev/null +++ b/tests/test_table_cell_formatting.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python +# encoding: utf-8 + +""" +Tests the Table formatting with different parameters such as width and +alignment +""" + +from inscriptis.model.table import TableCell +from inscriptis.html_properties import HorizontalAlignment, VerticalAlignment + + +def test_horizontal_cell_formatting(): + + cell = TableCell(align=HorizontalAlignment.left, + valign=VerticalAlignment.top) + # left alignment + cell.blocks = ['Ehre sei Gott!'] + cell.width = 16 + assert cell.blocks == ['Ehre sei Gott! '] + + # right alignment + cell.align = HorizontalAlignment.right + cell.blocks = ['Ehre sei Gott!'] + cell.width = 16 + assert cell.blocks == [' Ehre sei Gott!'] + + +def test_vertical_cell_formatting(): + cell = TableCell(align=HorizontalAlignment.left, + valign=VerticalAlignment.top) + + # default top alignment + cell.blocks = ['Ehre sei Gott!'] + cell.width = 16 + cell.height = 4 + assert cell.blocks == ['Ehre sei Gott! ', + '', + '', + ''] + + # bottom alignment + cell.blocks = ['Ehre sei Gott!'] + cell.valign = VerticalAlignment.bottom + cell.width = 16 + cell.height = 4 + assert cell.blocks == ['', + '', + '', + 'Ehre sei Gott! '] + + # middle alignment + cell.blocks = ['Ehre sei Gott!'] + cell.valign = VerticalAlignment.middle + cell.width = 16 + cell.height = 4 + assert cell.blocks == ['', + 'Ehre sei Gott! ', + '', + ''] diff --git a/tests/test_table_row.py b/tests/test_table_row.py new file mode 100644 index 0000000..c09049b --- /dev/null +++ b/tests/test_table_row.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python +# encoding: utf-8 + +""" +Test borderline cases for table rows +""" + +from inscriptis.model.table import TableRow + +def test_empty_row(): + tr = TableRow() + + assert tr.width == 0 + assert tr.get_text() == '' diff --git a/tests/test_version_information.py b/tests/test_version_information.py deleted file mode 100644 index f578d58..0000000 --- a/tests/test_version_information.py +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env python - -import sys -import pytest -import importlib - -BLACKLISTED_MODULE = 'lxml' - - -def secure_importer(name, globals=None, locals=None, fromlist=(), level=0): - if name.startswith(BLACKLISTED_MODULE): - raise ImportError("Cannot import module %s." % name) - return importlib.__import__(name, globals, locals, fromlist, level) - - -def test_package_metadata(): - """ - verify that the package metadata is available, even if no dependencies - are installed. - """ - # clear the python search path to verify whether we can import - # inscriptis even if its dependencies are not available - # (required for building the docs and setup.py) - saved_importer = __builtins__['__import__'] - saved_modules = {} - with pytest.warns(UserWarning): - # delete cached modules - saved = {} - for module in list(sys.modules): - if module.startswith('lxml') or module == 'inscriptis': - saved_modules[module] = sys.modules[module] - del sys.modules[module] - - # overwrite import mechanism - __builtins__['__import__'] = secure_importer - from inscriptis import (__version__, __author__, __author_email__, - __copyright__, __license__) - - assert __version__ - assert 'Albert' in __author__ and 'Fabian' in __author__ - assert '@fhgr' in __author_email__ - assert 'Albert' in __copyright__ and 'Fabian' in __copyright__ - assert 'Apache' in __license__ - - sys.modules.update(saved_modules) - __builtins__['__import__'] = saved_importer diff --git a/tests/test_white_space_handling.py b/tests/test_white_space_handling.py index 6f1fead..cf43d4d 100644 --- a/tests/test_white_space_handling.py +++ b/tests/test_white_space_handling.py @@ -32,3 +32,48 @@ def test_white_space(): html = (u'12\n3' u'') assert get_text(html, config) == u'12\n3' + + +def test_borderline_cases(): + """ + testing of borderline cases based on the behavior found in Firefox and + Google Chrome. + """ + # change of whitespace handling between terms; no whitespace + # between the terms + html = u'Halloecho versus' + assert get_text(html, config) == u'Halloecho versus' + + # change of whitespace handling between terms; one whitespace + # between the terms; option 1 + html = u'Hallo echo versus' + assert get_text(html, config) == u'Hallo echo versus' + + # change of whitespace handling between terms; one whitespace + # between the terms; option 2 + html = u'Hallo echo versus' + assert get_text(html, config) == u'Hallo echo versus' + + # change of whitespace handling between terms; two whitespaces + # between the terms + html = u'Hallo echo versus' + assert get_text(html, config) == u'Hallo echo versus' + + # change of whitespace handling between terms; multiple whitespaces + # between the terms + html = u'Hallo echo versus' + assert get_text(html, config) == u'Hallo echo versus' + + # change of whitespace handling between terms; multiple whitespaces + # between the terms + html = u'Hallo echo versus' + assert get_text(html, config) == u'Hallo echo versus' + + +def test_tail(): + """ + ensure that the tail elements are formated based on the container element. + """ + html = (u'Hi 1 3 ' + u' versus 1 3') + assert get_text(html, config) == u'Hi 1 3 versus 1 3' diff --git a/tox.ini b/tox.ini index 142fae6..8f62fd7 100644 --- a/tox.ini +++ b/tox.ini @@ -2,7 +2,8 @@ # standard unit tests [testenv:pytest] deps = pytest -commands = pytest ./tests + pytest-coverage +commands = pytest --cov-config=.coveragerc --cov=inscriptis ./tests # python packaging best practices [testenv:pyroma] @@ -16,21 +17,29 @@ deps = flake8 flake8-bandit flake8-bugbear flake8-builtins + flake8-cognitive-complexity flake8-colors flake8-comprehensions + flake8-docstrings + flake8-eradicate + flake8-expression-complexity flake8-mutable flake8-pathlib flake8-pytest + flake8-quotes flake8-raise + flake8-simplify flake8-string-format flake8-tuple flake8-logging-format + pep8-naming commands = flake8 [flake8] exclude = .tox docs benchmarking + setup.py tests # S104 - do not cleanup XML data prior to processing @@ -38,7 +47,15 @@ exclude = .tox # aimed for use with docker. # W503 - replaced with W504 # E402 - required for importing inscriptis metadata in setup.py -ignore = S104, S410, W503, E402 +# D102 - missing docstring in public method +# D105 - missing docstring in magic method (e.g., __str__) +# D107 - missing docstring in __init__ +ignore = S104, S410, W503, E402, D107, D105, D102 show-source = true enable-extensions=G application-import-names = inscriptis + +# flake8 cognitive complexity +max-cognitive-complexity=13 + +#