I did write a decorator (my first) myself. It works, except adding a
starting and ending comment for the pretty html code (the PRETTY function
got this error: <type 'exceptions.AttributeError'> 'str' object has no
attribute 'xml').
*def COMMENT( text ): """ Create an HTML comment """ if type(text) ==
type('str'): return XML( "<!-- %s -->" % text ) return textdef
PRETTY( html_helper ): """ Make HTML pretty, originally made by aleon:
https://groups.google.com/d/msg/web2py/pyOosnV9AuQ/BDXzTfHYV4YJ """
import xml.dom.minidom as xml declaration =
len(xml.Document().toxml())+1 doc =
xml.parseString(html_helper.xml()) return
XML(doc.toprettyxml()[declaration:])def PrettyDevHTML(func): """ Make
html output pretty in Site.dev mode""" # for developing/-bugging this:
http://thecodeship.com/patterns/guide-to-python-function-decorators/ def
func_wrapper(*args, **kwargs): result = func(*args, **kwargs)
if *
*development_mode: #result = COMMENT( 'PrettyDevHTML Start' ) +
result # line doesn't work for some reason result += COMMENT(
'/'+func.__name__ ) #result += COMMENT( 'PrettyDevHTML End' ) #
line works but redundant because starting line doesn't result =
PRETTY( result ) return result return func_wrapper*
Den torsdagen den 18:e september 2014 kl. 12:56:01 UTC+2 skrev Robin Manoli:
>
> Sorry for a late reply!
>
> How would I implement this? What I would like to do is to render pretty
> html in development mode (I have a global variable *development_mode =
> True*). Would I have to render the views myself? It would really be nice
> if I somewhere could just tell web2py in one place to render all views like
> that, or perhaps it would be better if I could decorate a controller with
> it (how?)?
>
> Den tisdagen den 29:e april 2014 kl. 22:21:21 UTC+2 skrev
> [email protected]:
>>
>> I just wrote that function check it out.
>>
>> def pretty_html(obj):
>> import xml.dom.minidom as xml
>> declaration = len(xml.Document().toxml())+1
>> doc = xml.parseString(obj.xml())
>> return XML(doc.toprettyxml()[declaration:])
>>
>>
>> Where obj is a web2py helper. You can easily change it to accept plain
>> text.
>>
>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.