Yes, of course you're right.  The actual code is generated by this 
monstrosity:

@staticmethod
def make_toolbar(buttons, id, opt):
    #tb = CAT()
    tb = DIV(_id=id, _class=opt.w_toolbar_cls,_style="padding:0 0 0 5px;")
    for title, action, href_fcn, key in buttons:
        if isinstance(action, list):
            menu = DIV(_class="widget-menu")
            items = list()
            for title2, val, active in action:
                items.append(A(title2,
                               _href=href_fcn(val),
                               _class=('' if active else 'disabled'),
                               data={key:val}))
            btn = TAG.button(" %s "%title,SPAN(_class="caret"),
                             data={'toggle':'dropdown'},
                             _class=opt.w_toolbar_btn_cls+'dropdown-toggle 
button')
            menu.append(btn)
            menu.append(UL(*items,_class="dropdown-menu dropdown-caret 
dropdown-close"))
            tb.append(menu)
        else:
            tb.append(TAG.button(" %s "%title,_class=opt.w_toolbar_btn_cls))
    return tb

Kind of ugly but it has the advantage that it does what I want.  Won't win 
any contest for prettiness, tho.

-- Joe

On Monday, July 30, 2018 at 12:13:42 PM UTC-7, Anthony wrote:
>
> The particular code being pickled, if it matters, looks like this:
>>>
>>> <button class="btn btn-primary dropdown-toggle button" 
>>> data-toggle="dropdown">
>>>   Male 
>>> <span class="caret"></span></button>
>>>
>>
> Also, just to clarify, the above is not the code being pickled. The above 
> is the HTML generated by executing the view -- it is just a string and 
> would not invoke gluon.html.TAG_pickler. Rather, the controller action must 
> be returning a dictionary containing a FORM object, which contains a 
> TAG['button'] object, which is causing the pickle recursion error. When the 
> TAG['button'] object is rendered, it generates the HTML shown above.
>
> 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