On Thu, Jun 28, 2012 at 11:18 AM, Alex Ogier <[email protected]> wrote:
>
> Also, to be compatible with python 3 and more idiomatic python, I
> would implement the function as:
>
> def html_mark_safe(format_string, *args):
> return mark_safe(format_string.format(*map(conditional_escape, args)))
>
Actually, on second thought, this is even better:
def html_mark_safe(format_string, *args, **kwargs):
args_safe = map(conditional_escape, args)
kwargs_safe = dict([(k, conditional_escape(v)) for (k, v) in
kwargs.iteritems()])
return mark_safe(format_string.format(*args_safe, **kwargs_safe))
That's an HTML-safe replacement of the str.format() method, so far as
I can tell (except that all parameters must be [safe-]strings). That
allows more idiomatic python, and won't require awkward shims in
python 3, but it would mean that you can't directly translate %
interpolations. I think thats a good tradeoff.
Best,
Alex Ogier
--
You received this message because you are subscribed to the Google Groups
"Django developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-developers?hl=en.