Beispiel #1
0
def process_soup(soup):
    for selector, format in FIRSTCLASS_PLAINTEXT_RULES.iteritems():
        for el in reversed(soup.find_all(selector)):
            text = call_or_format(format, dict(el.attrs, text=getattr(el, 'text')), element=el)
            el.replaceWith(text)
    text = strip_tags(unicode(soup))
    return text
Beispiel #2
0
def process_soup(soup):
    for selector, format in FIRSTCLASS_PLAINTEXT_RULES.iteritems():
        for el in reversed(soup.find_all(selector)):
            text = call_or_format(format,
                                  dict(el.attrs, text=getattr(el, 'text')),
                                  element=el)
            el.replaceWith(text)
    text = strip_tags(unicode(soup))
    return text
    def process_message(self, message):
        if hasattr(message, 'attach_alternative'):
            message.attach_alternative(message.body, 'text/html')

        soup = BeautifulSoup(message.body)

        for selector, format in FIRSTCLASS_PLAINTEXT_RULES.iteritems():
            for el in soup.findAll(selector):
                text = call_or_format(format, dict(el.attrs, text=getattr(el, 'text')))
                el.replaceWith(text)

        text = strip_tags(unicode(soup))
        message.body = text

        return message
    def process_message(self, message):
        if hasattr(message, 'attach_alternative'):
            message.attach_alternative(message.body, 'text/html')

        soup = BeautifulSoup(message.body)

        for selector, format in FIRSTCLASS_PLAINTEXT_RULES.iteritems():
            for el in soup.findAll(selector):
                text = call_or_format(format,
                                      dict(el.attrs, text=getattr(el, 'text')))
                el.replaceWith(text)

        text = strip_tags(unicode(soup))
        message.body = text

        return message