Skip to main content

Handling of simple stylesheets (subset of CSS)

Project description

This package was originally part of a Python tool to extract text data from PDFs into TEI XML. Some of the style information that was extracted from the PDF had to be recorded in the resulting TEI file. Among these were fontname, fontsize, italics, boldface, superscript, subscript. These were included as simple CSS statements into the tagsDecl of the TEI document.

Later it seemed approporiate to remove this very simple style library from the PDF extraction package and offer it as a little standalone package, which can be useful in different contexts.

NB: This package might be useful for some people, hence it is published as an open source package, but it is still very much tailored to some very special needs for text processing. It is not very likely that this package will be developed into a general CSS library. If you need this, you will find plenty of helpful libraries on PyPI.

Download, Installation

simplestyle is available on PyPI <https://pypi.python.org/pypi/simplestyle>.

Install with pip install simplestyle.

The source code is on GitHub: <https://github.com/rotula/simplestyle>.

Simplified CSS

The simplified CSS grammar understood by this package is as follows:

css := declaration (";" declaration)* ';'?
declaration := property ":" expr
property := [a-zA-Z-]+
expr := (string | [^;"']+)
string := string1 | string2
string1 := "'" [^'\n\r\f] "'"
string2 := '"' [^"\n\r\f] '"'

Usage

>>> from simplestyle import Style
>>> css = "font-size: 10pt"
>>> style = Style()
>>> style.from_css(css)
>>> style.size
10.0
>>> style.get_css()
'font-size: 10.0pt'
>>> style.italics
False
>>> style.from_css("font-style:italic", merge=True)
>>> style.italics
True
>>> style.size
10.0
>>> style.get_css()
'font-size: 10.0pt; font-style: italic'
>>> style.reset()
>>> style.get_css()
''

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simplestyle-1.2.0.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

simplestyle-1.2.0-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file simplestyle-1.2.0.tar.gz.

File metadata

  • Download URL: simplestyle-1.2.0.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for simplestyle-1.2.0.tar.gz
Algorithm Hash digest
SHA256 41f21ace8443f48796c311283bba1cfccceecce619c46927707a7d95ff550ef0
MD5 c106671029450ea5056e7d6904d96eda
BLAKE2b-256 a461992b38952251603f43028a10efe95790d7d0633be65bf1040da93dd7887d

See more details on using hashes here.

File details

Details for the file simplestyle-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: simplestyle-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for simplestyle-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f1b3ec203ffee584879de38376035c1883d6c6fcbf82c4e4d1e514a7d0a3ac35
MD5 7c9cc14a46e838e0affe0ba1f025bdf5
BLAKE2b-256 2653eb8e2f160a7c552f124c3c87c63e4cc25e9d1a408f0ae7bd88516c39b2f9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page