def __init__(self, *args): buttons = [] for arg in args: if zope.interface.interfaces.IInterface.providedBy(arg): for name, button in zope.schema.getFieldsInOrder(arg): if interfaces.IButton.providedBy(button): buttons.append((name, button)) elif self.managerInterface.providedBy(arg): buttons += arg.items() elif interfaces.IButton.providedBy(arg): if not arg.__name__: arg.__name__ = util.createId(arg.title) buttons.append((arg.__name__, arg)) else: raise TypeError("Unrecognized argument type", arg) keys = [] seq = [] byname = {} for name, button in buttons: keys.append(name) seq.append(button) byname[name] = button self._data_keys = keys self._data_values = seq self._data = byname
def __init__(self, *args): buttons = [] for arg in args: if zope.interface.interfaces.IInterface.providedBy(arg): for name, button in zope.schema.getFieldsInOrder(arg): if interfaces.IButton.providedBy(button): buttons.append((name, button)) elif self.managerInterface.providedBy(arg): buttons += arg.items() elif interfaces.IButton.providedBy(arg): if not arg.__name__: arg.__name__ = util.createId(arg.title) buttons.append((arg.__name__, arg)) else: raise TypeError("Unrecognized argument type", arg) super(Buttons, self).__init__(buttons)
def __init__(self, request, title, name=None): self.request = request self.title = title if name is None: name = util.createId(title) self.name = name