Most powerful way to construct text in Python, 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, corectly interpreting CSS Selector-based controls, using void/self-closing elements where needed, and specialized markup. There is a general XML quoter as well.
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, quoter=double, lastsep=" and ")
Yields:
A, B, C, D {A | B | C | D} { A | B | C | D } 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 the Python world.
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.4.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4807a52390d01492a1a91153d72e356a22dca903f99a941c91e2800b5500797c |
|
MD5 | 454b446c14082d227421ca65bed57982 |
|
BLAKE2b-256 | 8587bf05998c70f55fe949f9dd0f9064f0f7c9e5479dd2780e55c55b5b972394 |