def set_what(self, value): if IObjectEvent.providedBy(value): self.event = value what, what_info = self.extract_what() if what_info is not None: self.data["what_info"] = what_info if what is not None: self.data["what"] = what else: what, what_info = self._extracts(value) self.data["what"] = what self.data["what_info"] = what_info elif type(value) == str: self.data["what"] = value
def processedMessage(self): processedMessage = self.element.message if "&e" in processedMessage: processedMessage = processedMessage.replace("&e", "%s.%s" % ( self.event.__class__.__module__, self.event.__class__.__name__)) if "&c" in processedMessage and IObjectEvent.providedBy(self.event): processedMessage = processedMessage.replace("&c", repr(self.event.object)) if "&u" in processedMessage: mtool = getToolByName(self.context, 'portal_membership') member = mtool.getAuthenticatedMember().getUserName() processedMessage = processedMessage.replace("&u", member) return processedMessage
def processedMessage(self): processedMessage = self.element.message if '&e' in processedMessage: event_class = self.event.__class__ processedMessage = processedMessage.replace( '&e', '{0}.{1}'.format( event_class.__module__, event_class.__name__, )) if '&c' in processedMessage and IObjectEvent.providedBy(self.event): processedMessage = processedMessage.replace( '&c', repr(self.event.object)) if '&u' in processedMessage: mtool = getToolByName(self.context, 'portal_membership') member = mtool.getAuthenticatedMember().getUserName() processedMessage = processedMessage.replace('&u', member) return processedMessage
def set_what(self, value): if self.what is not None: LOG.error("try to set multiple time the what ?") return if IObjectEvent.providedBy(value): self.context.what_info = self.get_what_info(value) ifaces = list(interface.implementedBy(value.__class__)) for iface in ifaces: if iface.extends(IObjectEvent): self.what = str(iface.__identifier__) break elif type(value) == str: new_value = value.split('.')[-1] if new_value.startswith('I'): new_value = new_value[1:] if new_value.startswith('Object'): new_value = new_value[6:] if new_value.endswith('Event'): new_value = new_value[:-5] self.context.what = new_value
def display(event): name = event.__class__.__name__ if IObjectEvent.providedBy(event): if ITraversable.providedBy(event.object): name += ' for ' + '/'.join(event.object.getPhysicalPath()) return name