Skip to main content

On-the-go HTML Abstraction and Generator for Python

Project description

woshi

On-the-go HTML Abstraction and Generator for Python.

Woshi is simple, it abstracts XML nesting and leverages CSS3 selectors to append elements into the HTML document!

Version 2.0 is a breaking upgrade, which means the general usage and the internal algorithms were change to make it more flexible and lighter. The package lxml was removed in favor of a custom-made builder function. Only simple CSS3 selectors are supported, but will add support in the upcoming versions.

Here's a sample syntax:

page["tag#id"] = "tag #id.class property='10' > inner text"

And scroll down below for more examples.

Official Release

Current version is 2.0, but more updates are coming soon. Compatible with Python 3.10 or later.

pip install woshi

Usage

Import Package

from woshi import Woshi

Initialization

page = Woshi()

# initializing with a valid HTML text
page = Woshi("<div></div>")

# setting up filename
page = Woshi(filepath="home.html")

Creating elements with an inner text

page["head"] = "title > Woshi v1.0"

Creating other elements Basically, you set the parent selector to append the new element.

# create container box
page["body"] = "div #content"
page["#content"] = "div #box.container.light"

# create the popup text
page["#box"] = "div #title.header > Woshi"
page["#box"] = "div .message data-default='Lorem ipsum...' > Hello, world!"

# populate the action buttons
page["#box"] = "div #action.btn-list"
page["#action"] = "button #btn1.btn.btn-no style='background-color:#b22222;color:#fff;' > CLOSE"
page["#action"] = "button #btn2.btn.btn-maybe > LATER"

Setting Properties

page["html"] = "lang=en"
page["body"] = "#canvas"

Yield all matches

for match in page["button"]:
    print(match)

Save to HTML file

page.save()
page.save("newFile.html")

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

woshi-2.1.2.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

woshi-2.1.2-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file woshi-2.1.2.tar.gz.

File metadata

  • Download URL: woshi-2.1.2.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.0

File hashes

Hashes for woshi-2.1.2.tar.gz
Algorithm Hash digest
SHA256 c77fe03d01c4297639b7822a992b9934bec79755b1c065fb368f3d76e2b0ac3c
MD5 45aca85f833efaa1bff72e7ccbd0ec97
BLAKE2b-256 e978f18e233102f65810cfb02b1bf3c9c1021096acf64a29efd33830984bda16

See more details on using hashes here.

File details

Details for the file woshi-2.1.2-py3-none-any.whl.

File metadata

  • Download URL: woshi-2.1.2-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.0

File hashes

Hashes for woshi-2.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1b8102ea7ae0a2f76c39ed45dcf7bbb6f5f81b81a29662cb0b35bd82956875f4
MD5 fef50daa2d7329a7091b9c293140ae67
BLAKE2b-256 e356cb3cae6c9d66fccad430092b0cccf725089661773d25540a8f8e020ba72a

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