~danci-emanuel/mailman/messages_support

« back to all changes in this revision

Viewing changes to src/mailman/model/messagestore.py

  • Committer: Emanuel Danci
  • Date: 2012-09-17 21:07:24 UTC
  • Revision ID: danci_emanuel@yahoo.com-20120917210724-60vsruqdx54az1ch
Added the missing part from the messages.

Show diffs side-by-side

added added

removed removed

Lines of Context:
51
51
    """See `IMessageStore`."""
52
52
 
53
53
    @dbconnection
54
 
    def add(self, store, message):
 
54
    def add(self, store, message, msgdata):
 
55
        return
55
56
        # Ensure that the message has the requisite headers.
56
57
        message_ids = message.get_all('message-id', [])
 
58
        for i in range(len(message_ids)):
 
59
            print( message_ids[i] )
57
60
        if len(message_ids) <> 1:
58
61
            raise ValueError('Exactly one Message-ID header required')
59
62
        # Calculate and insert the X-Message-ID-Hash.
76
79
            parts.append(split.pop(0) + split.pop(0))
77
80
        parts.append(hash32)
78
81
        relpath = os.path.join(*parts)
 
82
        # extract the thread_id
 
83
        try:
 
84
            thread_id = msgdata['thread_id']
 
85
        except:
 
86
            thread_id = -1
79
87
        # Store the message in the database.  This relies on the database
80
88
        # providing a unique serial number, but to get this information, we
81
89
        # have to use a straight insert instead of relying on Elixir to create
82
90
        # the object.
83
91
        row = Message(message_id=message_id,
84
92
                      message_id_hash=hash32,
85
 
                      path=relpath)
 
93
                      path=relpath,
 
94
                      thread_id_dlist=thread_id)
86
95
        # Now calculate the full file system path.
87
96
        path = os.path.join(config.MESSAGES_DIR, relpath)
88
97
        # Write the file to the path, but catch the appropriate exception in