def _exchange_relative_urls(self, output_html):
     """ exchange relative URLs and
         return dict with html, plain and images
     """
     parser_output_zpt = ENLHTMLParser(self)
     parser_output_zpt.feed(output_html)
     text = parser_output_zpt.html
     text_plain = self.create_plaintext_message(text)
     image_urls = parser_output_zpt.image_urls
     return dict(html=text, plain=text_plain, images=image_urls)
Exemple #2
0
 def _exchange_relative_urls(self, output_html):
     """ exchange relative URLs and
         return dict with html, plain and images
     """
     parser_output_zpt = ENLHTMLParser(self)
     parser_output_zpt.feed(output_html)
     text = parser_output_zpt.html
     text_plain = self.create_plaintext_message(text)
     image_urls = parser_output_zpt.image_urls
     return dict(html=text, plain=text_plain, images=image_urls)
 def _format_text_and_html(self, output_html):
     """ Exchange relative URLs to absolute ones, replace images
         URLs, and return dict with html, plain text and images
         (and their associated IDs).
     """
     parser = ENLHTMLParser(self)
     parser.feed(output_html)
     return dict(html=parser.get_html(),
                 plain=parser.get_text(),
                 images=parser.image_urls)
Exemple #4
0
    def __call__(self, receiver):
        """
        returns a dict of issue_data, like subject and several parts of
        the issue. This is done so, to split up the send method and
        make it more hookable.
        """
        data = {}

        request = self.issue.REQUEST
        subject = request.get("subject")
        if not subject:
            subject = self.issue.Title()

        data['subject_header'] = Header(safe_unicode(subject))

        html = self._render_output_html()

        # personalize (fire also event before personalization)
        html = self._personalize(receiver, html)

        # exchange relative URLs and resolve 'resolveuid' links for us
        parser = ENLHTMLParser(self.issue)
        parser.feed(html)

        # get html version
        data['body_html'] = parser.html

        # get plain text version
        data['body_plain'] = self._create_plaintext_message(
            safe_unicode(data['body_html']).encode('utf-8')
        )

        # handle image attachments
        data['images_to_attach'] = self._get_images_to_attach(
            parser.image_urls
        )

        return data
Exemple #5
0
    def __call__(self, receiver):
        """
        returns a dict of issue_data, like subject and several parts of
        the issue. This is done so, to split up the send method and
        make it more hookable.
        """
        data = {}

        request = self.issue.REQUEST
        subject = request.get('subject')
        if not subject:
            subject = self.issue.Title()

        data['subject_header'] = Header(safe_unicode(subject))

        html = self._render_output_html()

        # personalize (fire also event before personalization)
        html = self._personalize(receiver, html)

        # exchange relative URLs and resolve 'resolveuid' links for us
        parser = ENLHTMLParser(self.issue)
        parser.feed(html)

        # get html version
        data['body_html'] = parser.html

        # get plain text version
        data['body_plain'] = self._create_plaintext_message(
            safe_unicode(data['body_html']).encode('utf-8')
        )

        # handle image attachments
        data['images_to_attach'] = self._get_images_to_attach(
            parser.image_urls
        )

        return data