Changeset 3160

Show
Ignore:
Timestamp:
01/30/08 04:04:52 (10 months ago)
Author:
Blackhex
Message:
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • discussionplugin/0.10/tracdiscussion/notification.py

    r2836 r3160  
    1313    torcpts = [] 
    1414    ccrcpts = [] 
     15    from_email = 'trac+discussion@localhost' 
    1516    COLS = 75 
    1617 
     
    9596        NotifyEmail.notify(self, id, subject) 
    9697 
    97     def get_topic_id(self, forum_id, topic_id): 
    98         return "%s-%s-%s" % (forum_id, topic_id, 0) 
     98    def get_message_id(self, forum_id, topic_id, message_id): 
     99        # Fix ID of messages replying to topic. 
     100        if message_id < 0: 
     101            message_id = 0 
    99102 
    100     def get_message_id(self, forum_id, topic_id, message_id): 
    101         return "%s-%s-%s" % (forum_id, topic_id, message_id) 
     103        # Construct Message-ID according to RFC 2822. 
     104        id = '%s.%s.%s' % (forum_id, topic_id, message_id) 
     105        host = self.from_email[self.from_email.find('@') + 1:] 
     106        return '<%s@%s>' % (id, host) 
    102107 
    103108    def get_recipients(self, resid): 
     
    112117            header['Message-ID'] = self.get_message_id(self.forum['id'], 
    113118              self.topic['id'], self.message['id']) 
    114             header['X-Trac-Message-ID'] = str(self.message['id']) 
     119            header['X-Trac-Message-ID'] = to_unicode(self.message['id']) 
    115120            header['X-Trac-Discussion-URL'] = self.message['link'] 
    116121 
    117122            # Get replied message ID. 
    118             if self.message['replyto'] == -1: 
    119                 reply_id = self.get_topic_id(self.forum['id'], 
    120                   self.topic['id']) 
    121             else: 
    122                 reply_id = self.get_message_id(self.forum['id'], 
    123                   self.topic['id'], self.message['replyto']) 
     123            reply_id = self.get_message_id(self.forum['id'], self.topic['id'], 
     124              self.message['replyto']) 
    124125            header['In-Reply-To'] = reply_id 
    125126            header['References'] = reply_id 
    126127        else: 
    127128            # Get this message ID. 
    128             header['Message-ID'] = self.get_topic_id(self.forum['id'], 
    129               self.topic['id']
    130             header['X-Trac-Topic-ID'] = str(self.topic['id']) 
     129            header['Message-ID'] = self.get_message_id(self.forum['id'], 
     130              self.topic['id'], 0
     131            header['X-Trac-Topic-ID'] = to_unicode(self.topic['id']) 
    131132            header['X-Trac-Discussion-URL'] = self.topic['link'] 
    132133 
  • discussionplugin/0.11/tracdiscussion/api.py

    r3056 r3160  
    44 
    55from trac.core import * 
     6from trac.mimeview import Context 
    67from trac.perm import PermissionError 
    78from trac.web.chrome import add_stylesheet, add_script, add_ctxtnav 
  • discussionplugin/0.11/tracdiscussion/notification.py

    r2837 r3160  
    1919    torcpts = [] 
    2020    ccrcpts = [] 
     21    from_email = 'trac+discussion@localhost' 
    2122    COLS = 75 
    2223 
     
    8485        NotifyEmail.notify(self, id, subject) 
    8586 
    86     def get_topic_id(self, forum_id, topic_id): 
    87         return "%s-%s-%s" % (forum_id, topic_id, 0) 
     87    def get_message_id(self, forum_id, topic_id, message_id): 
     88        # Fix ID of messages replying to topic. 
     89        if message_id < 0: 
     90            message_id = 0 
    8891 
    89     def get_message_id(self, forum_id, topic_id, message_id): 
    90         return "%s-%s-%s" % (forum_id, topic_id, message_id) 
     92        # Construct Message-ID according to RFC 2822. 
     93        id = '%s.%s.%s' % (forum_id, topic_id, message_id) 
     94        host = self.from_email[self.from_email.find('@') + 1:] 
     95        return '<%s@%s>' % (id, host) 
    9196 
    9297    def get_recipients(self, resid): 
     
    105110 
    106111            # Get replied message ID. 
    107             if self.message['replyto'] == -1: 
    108                 reply_id = self.get_topic_id(self.forum['id'], 
    109                   self.topic['id']) 
    110             else: 
    111                 reply_id = self.get_message_id(self.forum['id'], 
    112                   self.topic['id'], self.message['replyto']) 
     112            reply_id = self.get_message_id(self.forum['id'], self.topic['id'], 
     113              self.message['replyto']) 
    113114            header['In-Reply-To'] = reply_id 
    114115            header['References'] = reply_id 
    115116        else: 
    116117            # Get this message ID. 
    117             header['Message-ID'] = self.get_topic_id(self.forum['id'], 
    118               self.topic['id']
     118            header['Message-ID'] = self.get_message_id(self.forum['id'], 
     119              self.topic['id'], 0
    119120            header['X-Trac-Topic-ID'] = to_unicode(self.topic['id']) 
    120121            header['X-Trac-Discussion-URL'] = self.topic['link'] 
  • discussionplugin/0.11/tracdiscussion/timeline.py

    r2837 r3160  
    66from trac.mimeview import Context 
    77from trac.config import Option 
    8 from trac.timeline import ITimelineEventProvider 
    98from trac.wiki.formatter import format_to_html, format_to_oneliner 
    109from trac.util.datefmt import to_timestamp, to_datetime, utc 
    1110from trac.util.text import to_unicode 
     11 
     12from trac.timeline import ITimelineEventProvider 
    1213 
    1314class DiscussionTimeline(Component):