def _do_get_field_widgets(self, fields): metadata_keys = self.__metadata__.keys() widgets = {} for field_name in fields: if field_name in self.__field_widgets__: widgets[field_name] = self.__field_widgets__[field_name] continue if field_name in self.__add_fields__: widget = self.__add_fields__[field_name] if widget is None: widget = Widget(field_name) widgets[field_name] = widget continue if field_name in self.__ignore_field_names__: continue if field_name in self.__hide_fields__: continue if field_name not in metadata_keys: continue field = self.__metadata__[field_name] if inspect.isclass(field): identifier = ClassViewer(field) field_widget_type = self.__field_widget_types__.get( field_name, self.__widget_selector__.select(field)) field_widget_args = self._do_get_field_widget_args( field_name, field) if field_name in self._do_get_disabled_fields(): # in this case, we display the current field, disabling it, and also add # a hidden field into th emix field_widget_args['disabled'] = True widgets[field_name] = (HiddenField(id=field_name.replace( '.', '_'), identifier=field_name), field_widget_type(**field_widget_args)) else: widgets[field_name] = field_widget_type(**field_widget_args) widgets.update(self.__create_hidden_fields()) return widgets
#pprint.pprint(stats.get_sort_arg_defs()) stats = stats.strip_dirs().sort_stats('time', 'call')\ .print_stats(50) if PRINT_CALLERS: stats.print_callers(5) ### Start profiling output print("*"*78) print("Profiling ToscaWidgets %s in with NCALLS = %d" % (VERSION, NCALLS)) if MSG: print(MSG) print("*"*78) print_stats("Widget initialization", Widget, "test_widget") w = Widget("test_widget") print_stats("Widget.prepare_dict", w.prepare_dict, "value", {}) print("*"*78) print_stats("TestForm initialization", TestForm, "test_widget") w = TestForm("test_widget") w.display() # preload template print_stats("TestForm.display", w.display, data) print("*"*78) print_stats("AddUserForm initialization", AddUserForm, "test_widget") w = AddUserForm("test_widget") w.display() # preload template print_stats("AddUserForm.display", w.display, data) try: