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.

Filename, size & hash SHA256 hash help File type Python version Upload date
cjrh_template-2017.10.18-py2.py3-none-any.whl (14.9 kB) Copy SHA256 hash SHA256 Wheel py2.py3
cjrh_template-2017.10.18.tar.gz (7.1 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page