def make_group_params_class(testcase): """Returns a subclass of param.Parameterized whose params are defined by the 'params' dict inside of the given testcase dict""" tc_params = dict() for name, p in testcase.get('params', {}).items(): tc_params[name] = make_param(p) name = 'Test Params for testcase {}'.format(testcase.get('name', '')) cls = param.parameterized_class(name, tc_params, GroupParamsBase) return cls
def param_value_if_widget(arg): if isinstance(arg, Widget): return arg.param.value from .pane.ipywidget import IPyWidget if IPyWidget.applies(arg) and hasattr(arg, 'value'): name = type(arg).__name__ if name in ipywidget_classes: ipy_param = ipywidget_classes[name] else: ipy_param = param.parameterized_class(name, {'value': param.Parameter()}) ipywidget_classes[name] = ipy_param ipy_inst = ipy_param(value=arg.value) arg.observe(lambda event: ipy_inst.param.set_param(value=event['new']), 'value') return ipy_inst.param.value return arg