Hi Guys, Can you remember why you added the following line to ZopePageTemplate.py? content_type = 'text/html' It seems to arbitarily lock new page templates (or subclasses of them) into text/html mode. MailTemplates subclass ZopePageTemplate and expect to be text/plain by default... cheers, Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Chris Withers wrote:
Hi Guys,
Can you remember why you added the following line to ZopePageTemplate.py?
content_type = 'text/html'
It seems to arbitarily lock new page templates (or subclasses of them) into text/html mode.
MailTemplates subclass ZopePageTemplate and expect to be text/plain by default...
That code is there only when reading from the default content, right? And that file is *definitely* 'text/html'. Why don't you just override it at class level in the subclass? For instance, override '__init__' to read your file before calling the 'super' version, and pass its contents through as 'text', along with your desired 'content_type'. Tres. - -- =================================================================== Tres Seaver +1 540-429-0999 tseaver@palladion.com Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHNNvE+gerLs4ltQ4RAuOcAKDN/dv+ADtX3tZOpKFqH9AJ2GbKOwCfeyvZ rzHP8cn3/KF+OsMZxWzBvb4= =r2oa -----END PGP SIGNATURE-----
Tres Seaver wrote:
MailTemplates subclass ZopePageTemplate and expect to be text/plain by default...
That code is there only when reading from the default content, right?
Yep.
And that file is *definitely* 'text/html'.
Well, not in the subclass no...
Why don't you just override it at class level in the subclass?
Yeah, that's what I've done, but it seems a shame to have to replace the whole __init__ method just for this one line...
For instance, override '__init__' to read your file before calling the 'super' version, and pass its contents through as 'text', along with your desired 'content_type'.
Fair enough. That said, since then, I've been trying to fix other test failures and have been pretty disappointed with the way it's been done. A lot of assumption has been made that text/html and text/xml are the only content types that will ever be used and there are several edge cases where things break when the content type is not one of these two :-( Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk
--On 10. November 2007 11:02:27 +0000 Chris Withers <chris@simplistix.co.uk> wrote:
Tres Seaver wrote:
MailTemplates subclass ZopePageTemplate and expect to be text/plain by default...
That code is there only when reading from the default content, right?
Yep.
And that file is *definitely* 'text/html'.
Well, not in the subclass no...
Why don't you just override it at class level in the subclass?
Yeah, that's what I've done, but it seems a shame to have to replace the whole __init__ method just for this one line...
For instance, override '__init__' to read your file before calling the 'super' version, and pass its contents through as 'text', along with your desired 'content_type'.
Fair enough.
That said, since then, I've been trying to fix other test failures and have been pretty disappointed with the way it's been done. A lot of assumption has been made that text/html and text/xml are the only content types that will ever be used and there are several edge cases where things break when the content type is not one of these two :-(
If you have a better solution, please submit a patch :-) Andreas
participants (3)
-
Andreas Jung -
Chris Withers -
Tres Seaver