def mybootstrap(form, fields): ''' bootstrap format form layout ''' form.add_class('form-horizontal') parent = FIELDSET() for id, label, controls, help in fields: # wrappers _help = None if help: _help = SPAN(help, _class='help-block') if isinstance(controls, (str, int, SPAN)): controls = P(controls, _class="form-control-static") # submit unflag by default _submit = False if isinstance(controls, INPUT): if controls['_type'] == 'submit': # flag submit button _submit = True controls['_class'] = 'btn btn-primary' if controls['_type'] == 'file': controls['_class'] = 'input-file' if isinstance(label, LABEL): label['_class'] = 'col-sm-2 control-label' if _submit: # submit button has unwrapped label and controls, different class parent.append(DIV(DIV(controls,_class="col-sm-offset-2 col-sm-10"), _class='form-group form-group-sm', _id=id)) # unflag submit (possible side effect) _submit = False else: # unwrapped label if _help: parent.append(DIV(label, DIV(controls, _help, _class="col-sm-10"), _class='form-group form-group-sm', _id=id)) else: parent.append(DIV(label, DIV(controls, _class="col-sm-10"), _class='form-group form-group-sm', _id=id)) return parent
def test_FIELDSET(self): self.assertEqual( FIELDSET('<>', _a='1', _b='2').xml(), b'<fieldset a="1" b="2"><></fieldset>')