Skip to main content

Subclass for string.Template: adds placeholders() method.

Project description

https://img.shields.io/badge/stdlib--only-yes-green.svg https://travis-ci.org/cjrh/cjrh_template.svg?branch=master https://coveralls.io/repos/github/cjrh/cjrh_template/badge.svg?branch=master https://img.shields.io/pypi/pyversions/cjrh_template.svg https://img.shields.io/github/tag/cjrh/cjrh_template.svg https://img.shields.io/badge/install-pip%20install%20cjrh_template-ff69b4.svg https://img.shields.io/pypi/v/cjrh_template.svg https://img.shields.io/badge/calver-YYYY.MM.MINOR-22bfda.svg

cjrh_template

This package offers a very thin subclass of string.Template which adds a few extra features to the standard library class.

NOTE: this package has no dependencies and will therefore not incur an additional 3rd-party dependency cost. This is intentional and will not change.

Get var names in the template

The placeholders() method returns a generator of the variable names inside the template:

# main.py
from cjrh_template import Template
s = '$person1 gave $object to $person2'
tmpl = Template(s)
print(list(tmpl.placeholders()))

Output:

$ python main.py
['person1', 'object', 'person2']

A typical use-case for this is to be able to see a UI with the required parameters for template substitution. Also, note that the method returns a generator that will return the names sequentially in a memory-efficient way.

There is also an allow_repeats parameter to placeholders() that will allow the generator to return even repeated variable names, depending on the sequence in which they’re found in the template. This could be used to generate frequency counts of variable names. Default is False.

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

cjrh_template-2017.10.18.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

cjrh_template-2017.10.18-py2.py3-none-any.whl (14.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file cjrh_template-2017.10.18.tar.gz.

File metadata

File hashes

Hashes for cjrh_template-2017.10.18.tar.gz
Algorithm Hash digest
SHA256 6f814bd21e43ba7cd6f7f4f4019939f573701be9873ce44bb76b0772dbe3b27f
MD5 2d2af010229d977b96b140b150721000
BLAKE2b-256 66a2b7d25c9f51621ee2de3b33b60ba148f794705aded639399dc9bc19f5b5a6

See more details on using hashes here.

File details

Details for the file cjrh_template-2017.10.18-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for cjrh_template-2017.10.18-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 673adcf024189c0f234886c962b3a4b62ff511b3c9ce1adf1e376d586d65e8e2
MD5 577f687754d71b7c70e2052beec30b37
BLAKE2b-256 c372dd1385217ff7102cf5ae25d512bfd4e5078f5db40f956281756aa81867d1

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