diff options
Diffstat (limited to 'www/trac-wikinotification/files/patch-WikiNotification__notification.py')
-rw-r--r-- | www/trac-wikinotification/files/patch-WikiNotification__notification.py | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/www/trac-wikinotification/files/patch-WikiNotification__notification.py b/www/trac-wikinotification/files/patch-WikiNotification__notification.py new file mode 100644 index 000000000000..c55eb80a6d4f --- /dev/null +++ b/www/trac-wikinotification/files/patch-WikiNotification__notification.py @@ -0,0 +1,79 @@ +--- WikiNotification/notification.py.orig 2008-03-14 09:02:03 UTC ++++ WikiNotification/notification.py +@@ -14,14 +14,13 @@ + # ============================================================================= + + import re +-import md5 + + from trac import __version__ + from trac.core import * + from trac.util.text import CRLF + from trac.wiki.model import WikiPage + from trac.versioncontrol.diff import unified_diff +-from trac.notification import NotifyEmail ++from trac.notification import NotifyEmail, NotificationSystem + from trac.config import Option, BoolOption, ListOption, IntOption + + from genshi.template.text import TextTemplate +@@ -33,6 +32,7 @@ diff_header = """Index: %(name)s + +++ %(name)s (version: %(version)s) + """ + ++ + class WikiNotificationSystem(Component): + smtp_from = Option( + 'wiki-notification', 'smtp_from', 'trac+wiki@localhost', +@@ -131,7 +131,7 @@ class WikiNotifyEmail(NotifyEmail): + if page.version > 0 and action == 'modified': + diff = diff_header % {'name': self.page.name, + 'version': self.page.version, +- 'oldversion': self.page.version -1 ++ 'oldversion': self.page.version -1, + } + oldpage = WikiPage(self.env, page.name, page.version - 1) + self.data["oldversion"]= oldpage.version +@@ -183,8 +183,8 @@ class WikiNotifyEmail(NotifyEmail): + public_cc = self.config.getbool('wiki-notification', 'use_public_cc') + headers = {} + headers['X-Mailer'] = 'Trac %s, by Edgewall Software' % __version__ +- headers['X-Trac-Version'] = __version__ +- headers['X-Trac-Project'] = projname ++ headers['X-Trac-Version'] = __version__ ++ headers['X-Trac-Project'] = projname + headers['X-URL'] = self.config.get('project', 'url') + headers['Precedence'] = 'bulk' + headers['Auto-Submitted'] = 'auto-generated' +@@ -284,18 +284,16 @@ class WikiNotifyEmail(NotifyEmail): + del msg['Content-Transfer-Encoding'] + msg.set_charset(self._charset) + +- self.add_headers(msg, headers); +- self.add_headers(msg, mime_headers); +- self.env.log.info("Sending SMTP notification to %s:%d to %s" +- % (self.smtp_server, self.smtp_port, recipients)) ++ self.add_headers(msg, headers) ++ self.add_headers(msg, mime_headers) ++ self.env.log.info("Sending SMTP notification to %s" ++ % str(recipients)) + msgtext = msg.as_string() + # Ensure the message complies with RFC2822: use CRLF line endings + recrlf = re.compile("\r?\n") + msgtext = CRLF.join(recrlf.split(msgtext)) +- try: +- self.server.sendmail(msg['From'], recipients, msgtext) +- except Exception, err: +- self.env.log.debug('Notification could not be sent: %r', err) ++ NotificationSystem(self.env).send_email(self.from_email, recipients, ++ msgtext) + + def format_subject(self, action): + template = self.config.get('wiki-notification', 'subject_template') +@@ -308,6 +306,6 @@ class WikiNotifyEmail(NotifyEmail): + data = { + 'page': self.page, + 'prefix': prefix, +- 'action': action ++ 'action': action, + } + return template.generate(**data).render('text', encoding=None).strip() |