string.Template doesn't allow to specify the self substitute parameter as keyword argument.
>>> import string
>>> string.Template('the self is $self').substitute(self='bozo')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: substitute() got multiple values for argument 'self'
>>> string.Template('the self is $self').safe_substitute(self='bozo')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: safe_substitute() got multiple values for argument 'self'
The same issue is with string.Formatter.format:
>>> string.Formatter().format('the self is {self}', self='bozo')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: format() got multiple values for argument 'self'
Proposed patch fixes these issues. |