def getBindingNames(self, context): bindingNames = [] self.bindingDict = bindingDict = {} interface = self.groupInterface for binding in getattr(interface, '__spec__', []): bindingDict[binding.name] = binding if binding.name not in bindingNames: bindingNames.append(binding.name) if IActionableType.providedBy(binding.typedValue): acts = binding.typedValue.actions if acts is None: acts = [] for action in acts: bindingDict[action.name] = action return bindingNames
def getBindingNames(self, context): ifs = providedBy(getattr(self, 'boundTo', self)) ifs = [ x for x in ifs if x is not IConfigurable and x is not TypedInterface ] bindingNames = [] self.bindingDict = bindingDict = {} for interface in ifs: for binding in getattr(interface, '__spec__', []): bindingDict[binding.name] = binding if binding.name not in bindingNames: bindingNames.append(binding.name) if IActionableType.providedBy(binding.typedValue): acts = binding.typedValue.actions if acts is None: acts = [] for action in acts: bindingDict[action.name] = action return bindingNames
def getBindingNames(self, context): ## Todo: remove this getattr ifs = providedBy(getattr(self, 'boundTo', self)) ifs = [ x for x in ifs if x is not IConfigurable and x is not TypedInterface ] bindingNames = [] self.bindingDict = bindingDict = {} for interface in ifs: ## TypedInterfaces have a __spec__ attribute which is a list of all Typed properties and ## autocallable methods for binding in getattr(interface, '__spec__', []): bindingDict[binding.name] = binding if binding.name not in bindingNames: bindingNames.append(binding.name) if IActionableType.providedBy(binding.typedValue): acts = binding.typedValue.actions if acts is None: acts = [] for action in acts: bindingDict[action.name] = action return bindingNames