aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Sapiro <mark@msapiro.net>2009-08-01 12:01:28 -0700
committerMark Sapiro <mark@msapiro.net>2009-08-01 12:01:28 -0700
commit510daed5ea265ba076c8850a670ec8de8ad50c56 (patch)
treefab06ca3dc3c5f049fe4d14fb5e7e8facbac0a34
parentb6c23cf85d664236b4ad4d9252188eff6aa21875 (diff)
downloadmailman2-510daed5ea265ba076c8850a670ec8de8ad50c56.tar.gz
mailman2-510daed5ea265ba076c8850a670ec8de8ad50c56.tar.xz
mailman2-510daed5ea265ba076c8850a670ec8de8ad50c56.zip
Fixed a bug that could cause incorrect threading of replies to archived
messages that arrive with timestamps in the same second.
Diffstat (limited to '')
-rw-r--r--Mailman/Archiver/pipermail.py14
-rw-r--r--NEWS3
2 files changed, 12 insertions, 5 deletions
diff --git a/Mailman/Archiver/pipermail.py b/Mailman/Archiver/pipermail.py
index 49de805b..cfa4301e 100644
--- a/Mailman/Archiver/pipermail.py
+++ b/Mailman/Archiver/pipermail.py
@@ -122,9 +122,10 @@ class Database(DatabaseInterface):
parentID = article.parentID
if parentID is not None and self.articleIndex.has_key(parentID):
parent = self.getArticle(archive, parentID)
- myThreadKey = parent.threadKey + article.date + '-'
+ myThreadKey = (parent.threadKey + article.date + '.'
+ + str(article.sequence) + '-')
else:
- myThreadKey = article.date + '-'
+ myThreadKey = article.date + '.' + str(article.sequence) + '-'
article.threadKey = myThreadKey
key = myThreadKey, article.msgid
self.setThreadKey(archive, key, article.msgid)
@@ -418,7 +419,8 @@ class T:
else:
parent = self.database.getArticle(self.archive,
article.parentID)
- article.threadKey = parent.threadKey+article.date+'-'
+ article.threadKey = (parent.threadKey + article.date + '.'
+ + str(article.sequence) + '-')
self.database.setThreadKey(self.archive,
(article.threadKey, article.msgid),
msgid)
@@ -632,9 +634,11 @@ class T:
article.parentID = parentID = self.get_parent_info(arch, article)
if parentID:
parent = self.database.getArticle(arch, parentID)
- article.threadKey = parent.threadKey + article.date + '-'
+ article.threadKey = (parent.threadKey + article.date + '.'
+ + str(article.sequence) + '-')
else:
- article.threadKey = article.date + '-'
+ article.threadKey = (article.date + '.'
+ + str(article.sequence) + '-')
key = article.threadKey, article.msgid
self.database.setThreadKey(arch, key, article.msgid)
diff --git a/NEWS b/NEWS
index bae87f49..524122da 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,9 @@ Here is a history of user visible changes to Mailman.
Bug Fixes and other patches
+ - Fixed a bug that could cause incorrect threading of replies to archived
+ messages that arrive with timestamps in the same second.
+
- Scrubbed HTML attachments containing tab characters would get the tabs
replaced by a string of '&nbsp' without a semicolon. Fixed.