[Python-Dev] python-dev Summary for 2004-08-16 through 2004-08-31
[draft]
Brett C.
bac at OCF.Berkeley.EDU
Thu Sep 16 18:41:15 CEST 2004
Erik Heneryd wrote:
> Brett C. wrote:
>
>> The second issue was other the design of the API. Originally Template
>> was a class that overrode __mod__ to make it work like string
>> interpolation works now for str and unicode. But then some people
>> felt a class was too heavy-handed if there was no way to change the
>> way Template worked through a subclass. This obviously led to a
>> desire for functions to do the work for both Template and SafeTemplate
>> (similar class to Template that left in substitution points if they
>> didn't match any values in the dict passed in).
>>
>> In the end the class design was kept thanks to Tim Peters and
>> metaclasses. Tim came up with a neat way to have the regex be
>> generated at class creation time through a metaclass and thus allow
>> subclasses to change how Template matched substitution points and
>> such, all without a performance hit at instance creation time. Use of
>> __mod__ and the SafeTemplate class were removed and Template grew
>> substitute and safe_substitute methods. Everyone at this point seems
>> happy with the design.
>
>
> Well, not *everyone*.
OK, it now says "practically everyone". =)
-Brett
More information about the Python-Dev
mailing list