Skip to main content

Most powerful way to construct text in Python, plus a kick-ass join

Project description

Travis CI build status PyPI Package latest release PyPI Package monthly downloads Supported versions Supported implementations Wheel packaging support Test line coverage

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.

See the rest of the story at Read the Docs.

Project details


Download files

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

Source Distributions

quoter-1.4.3.zip (23.9 kB view hashes)

Uploaded Source

quoter-1.4.3.tar.gz (18.7 kB view hashes)

Uploaded Source

Built Distribution

quoter-1.4.3-py2.py3-none-any.whl (13.1 kB view hashes)

Uploaded Python 2 Python 3

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