This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author jcollado
Recipients jcollado
Date 2009-08-03.06:47:39
SpamBayes Score 1.2474301e-08
Marked as misclassified No
Message-id <1249282061.67.0.26692722483.issue6630@psf.upfronthosting.co.za>
In-reply-to
Content
In the string.Template documentation
(http://docs.python.org/library/string.html) it's explained that if a
custom regular expression for pattern substitution is needed, it's
possible to override idpattern class attribute (whose default value is
[_a-z][_a-z0-9]*).

However, if the custom pattern that is needed is just uppercase
letters, something like [A-Z]+ won't work because of the following line
in the _TemplateMetaclass class __init__ method:
cls.pattern = _re.compile(pattern, _re.IGNORECASE | _re.VERBOSE)

I would say that this is an error (IGNORECASE just shouldn't be there)
and that the line above should be:
cls.pattern = _re.compile(pattern, _re.VERBOSE)
and the default value for idpattern:
[_a-zA-Z][_a-zA-Z0-9]*

Do you agree on this? Is there any reason for the IGNORECASE option to
be passed to re.compile?
History
Date User Action Args
2009-08-03 06:47:41jcolladosetrecipients: + jcollado
2009-08-03 06:47:41jcolladosetmessageid: <1249282061.67.0.26692722483.issue6630@psf.upfronthosting.co.za>
2009-08-03 06:47:40jcolladolinkissue6630 messages
2009-08-03 06:47:39jcolladocreate