Esempio n. 1
0
        def doIt(_):
            try:
                self.model = self.domain.get(self.params.model)
            except DomainKeyError:
                raise errors.AttributeKeyException, self.params.model

            if not IModel.providedBy(self.model):
                raise errors.NotAModelError, self.params.model

            self.message = self.params.message.getMessage(self.domain)

            if self.params.text_attribute is None:
                self.params.text_attribute = 'text'

            try:
                self.text = self.message[self.params.text_attribute].value()
            except AttributeNotFoundError:
                raise errors.MessageAttributeKeyException, self.params.text_attribute
Esempio n. 2
0
    def analyze(self, domain, message, attribute="text"):
        """
        Анализ сообщения.

        @param domain: домен, относительно которого идёт анализ
        @type domain: L{IDomain}
        @param message: сообщение
        @type message: L{spamfighter.interfaces.IMessage}
        @param attribute: имя атрибута сообщения, содержащего текст
        @type attribute: C{str}
        """
        try:
            self.model = domain.get(self.modelName)
        except DomainKeyError:
            raise errors.AttributeKeyException, self.modelName

        if not IModel.providedBy(self.model):
            raise errors.NotAModelError, self.modelName

        try:
            self.text = message[attribute].value()
        except AttributeNotFoundError:
            raise errors.MessageAttributeKeyException, attribute