def getColorIndex(context, request, eventPath=None, brain=None): undefined = 'colorIndex-undefined' if not brain: if not eventPath: raise ValueError(u'You must provide eventPath or brain') catalog = getToolByName(context, 'portal_catalog') brains = catalog.searchResults(path=eventPath) if len(brains) == 0: log.error("Error computing color index : no result for path %s", eventPath) return undefined brain = brains[0] adapter = getMultiAdapter((context, request, brain), interfaces.IColorIndexGetter) return adapter.getColorIndex()