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)
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
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