durusmail: quixote-users: New syntax for PTL templates?
New syntax for PTL templates?
2002-10-08
2002-10-08
2002-10-08
2002-10-08
2002-10-09
2002-10-09
2002-10-09
2002-10-09
2002-10-10
PTL for SQL (was Re: [Quixote-users] New syntax for PTL templates?)
2002-10-10
python 2.2 required for widgets
2002-10-28
2002-10-28
2002-10-28
2002-10-28
quote keyword on widget constructors
2002-10-29
2002-10-29
2002-10-29
2002-10-28
2002-10-28
2002-10-29
2002-10-29
2002-10-29
2002-10-10
New syntax for PTL templates?
Joel Shprentz
2002-10-08
At 10:46 AM 10/8/02, Greg Ward wrote:
>IOW, I would favour
>
>   def foo(...):
>     define a regular function
>
>   template foo [plain] (...):
>     define a template that returns plain (un-marked-up, needs-to-be-
>     quoted-if-included-in-HTML) text
>
>   template foo [html] (...):
>     define a template that returns HTML text

I agree with Greg on distinguishing templates, which return concatenated
expression values, and functions, which return None or some specified value.

As I understand Neil's original proposal, within templates literal strings
were promoted to his HTMLMarkup type.   When HTMLMarkup is concatenated
with a string, that string first is HTML quoted; the result is more HTMLMarkup.

With HTMLMarkup renamed simply html,

     template foo [html] (...):

specifies that literal strings should be promoted to html objects.  It
seems to me that

       template foo [plain] (...):

should promote literal strings to plain objects and

       template foo [xyz] (...):

should promote literal strings to xyz objects.  (Of course, xyz objects
should  support an interface allowing concatenation with string objects.)

I recommend

     template foo [str] (...):

instead of

     template foo [plain] (...):

because literal strings should be promoted to str objects.  (Perhaps the
compiler can optimize away the promotion of a str to a str.)




--
Joel Shprentz              (703) 478-9668
1516 Park Glen Court       jshprentz@his.com
Reston, VA 20190



reply