Powerful way to construct text, HTML, and XML, plus a kick-ass join
Project description
Usage
from quoter import * print single('this') # 'this' print double('that') # "that" print backticks('ls -l') # `ls -l` print braces('curlycue') # {curlycue} print braces('curlysue', padding=1) # { curlysue }
Cute…but way too simple to be useful, right? Read on!
Let’s try something more complicated, where the output has to be intelligently based on context. Here’s a taste of quoting some HTML content:
print html.p("A para", ".focus") print html.img('.large', src='file.jpg') print html.br() print html.comment("content ends here")
Yields:
<p class='focus'>A para</p> <img class='large' src='file.jpg'> <br> <!-- content ends here -->
This clearly goes beyond “simply wrapping some text with other text.” The output format varies widely, correctly interpreting CSS Selector-based controls, using void/self-closing elements where needed, and specialized markup. The HTML quoter and its companion XML quoter are competitive in power and simplicity with bespoke markup-generating packages.
Finally, quoter provides a drop-dead simple, highly functional, join function:
mylist = list("ABCD") print join(mylist) print join(mylist, sep=" | ", endcaps=braces) print join(mylist, sep=" | ", endcaps=braces.but(padding=1)) print and_join(mylist) print and_join(mylist[:2]) print and_join(mylist[:3]) print and_join(mylist, quoter=double, lastsep=" and ")
Yields:
A, B, C, D {A | B | C | D} { A | B | C | D } A and B A, B, and C A, B, C, and D "A", "B", "C" and "D"
Which shows a range of separators, separation styles (both Oxford and non-Oxford commas), endcaps, padding, and individual item quoting. I daresay you will not find a more flexible or configurable join function anywhere else, in any programming language, at any price.
And if you like any particular style of formatting, make it your own:
>>> my_join = join.but(sep=" | ", endcaps=braces.but(padding=1)) >>> print my_join(mylist) { A | B | C | D }
Now you have a convenient specialized formatter to your own specifications.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for quoter-1.5.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aba2f9eeefd07caee3b1beb5a23fd8a8b3d5f5517b2cd4c5c170b33a00770fb4 |
|
MD5 | 8925cb7b48d0497f22e07d855dbfb792 |
|
BLAKE2b-256 | 917c3fea73bb216ee9414f1b7f9afdd78a86f26fed39d3278b71986456dcc220 |