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. The HTML quoter and its companion XML quoter are competitive in power and simplicity with bespoke markup-generating packges.
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.
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.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15442dfb793dade2a1fbbd41aad021a186a4eb3ab1b46c51aa65316bf18b7800 |
|
MD5 | 073cb13ae9be4de559379d6f3cf46052 |
|
BLAKE2b-256 | 5e423f263bb32b6ac20d04b66b87e2a9ca2abc7543d6360b52653b24e344130d |