I went for something even simpler : I bypass BEAUTIFUL.. I just wanted a 
view with everything named :
def my_beautify(component):
    t = TABLE()
    if isinstance(component, dict):
        for k, v in component.iteritems():
            if v is None or isinstance(v, (bool, str)):
                t.append(TR([str(k), str(v), ' ']))
            else:
                t.append(TR([str(k), repr(v), str(dir(v))]))
    return t

Thanks to both of you ! :)



On Friday, March 24, 2017 at 12:08:16 AM UTC+1, Anthony wrote:
>
> BEAUTIFY is not designed to take the entire global environment. The 
> problem is that globals() includes all of the web2py HTML helper classes. 
> Because BEAUTIFY is itself an HTML helper, it is serialized by recursively 
> processing its components. The serialization process checks whether a given 
> component has a callable "xml" attribute, and assuming such an attribute is 
> an instance method, it attempts to call .xml(). The problem is the helper 
> classes themselves do have a callable "xml" attribute, but it is not 
> actually an instance method in that case (it is simply an attribute that 
> belongs to the class itself) -- so calling it generates an exception.
>
> You might try something like:
>
> BEAUTIFY({k: v for k, v in globals().iteritems() if not hasattr(v, 'xml'
> )})
>
> But you're probably asking for trouble attempting to display the entire 
> global environment.
>
> Anthony
>

-- 
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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to