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.

Reply via email to