[Python-Dev] Re: Alternative Implementation for PEP292:SimpleString Substitutions (original) (raw)
Barry Warsaw barry at python.org
Fri Sep 10 04:43:55 CEST 2004
- Previous message: [Python-Dev] Re: Alternative Implementation for PEP292:SimpleString Substitutions
- Next message: [Python-Dev] Re: Alternative Implementation forPEP292:SimpleString Substitutions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Wed, 2004-09-08 at 11:08, Guido van Rossum wrote:
> Templates are meant to template text data, so Unicode is > the right choice of baseclass from a design perspective.
Only in Python 3.0. But even so, deriving from Unicode (or str) means the template class inherits a lot of unwanted operations.
Except that I think in general it'll just be very convenient for Templates to /be/ unicodes.
But no matter. It seems like if we make Template a simple class, it will be possible for applications to mix in Template and unicode if they want. E.g. class UTemplate(Template, unicode).
If we go that route, then I agree we probably don't want to use mod(), but I'm not too crazy about using call(). "Calling a template" just seems weird to me. Besides, extrapolating, I don't think we need separate Template and SafeTemplate classes. A single Template class can have both safe and non-safe substitution methods.
So, I have working code that integrates these changes, and also uses Tim's metaclass idea to provide a nice, easy-to-document pattern overloading mechanism. I chose methods substitute() and safe_substitute() because, er, that's what they do, and those names also don't interfere with existing str or unicode methods.
And to make effbot and Raymond happy, it won't auto-promote to unicode if everything's an 8bit string.
I will check this in and hopefully this will put the issue to bed. There will be updated unit tests, and I will update the documentation and the PEP as appropriate -- if we've reached agreement on it.
-Barry
-------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 307 bytes Desc: This is a digitally signed message part Url : http://mail.python.org/pipermail/python-dev/attachments/20040909/27bcbd95/attachment-0001.pgp
- Previous message: [Python-Dev] Re: Alternative Implementation for PEP292:SimpleString Substitutions
- Next message: [Python-Dev] Re: Alternative Implementation forPEP292:SimpleString Substitutions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]