From 8e58c22025a6b22d7c321588b39e28108f71124f Mon Sep 17 00:00:00 2001 From: Brett Parker Date: Fri, 21 Dec 2007 18:51:40 +0000 Subject: [PATCH 1/1] * updated posts are now "threaded" - adds a References header with the previous message-id in it, then adds the previous message id to the current message-id so that further updates can reference that properly --- rss2maildir.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rss2maildir.py b/rss2maildir.py index 268d192..931de3a 100755 --- a/rss2maildir.py +++ b/rss2maildir.py @@ -278,9 +278,13 @@ def parse_and_deliver(maildir, url, statedir): md5sum = md5.md5(content.encode("utf-8")).hexdigest() + prevmessageid = None + if db.has_key(url + "|" + item["link"]): data = db[url + "|" + item["link"]] data = cgi.parse_qs(data) + if data.has_key("message-id"): + prevmessageid = data["message-id"][0] if data["contentmd5"][0] == md5sum: continue @@ -303,6 +307,8 @@ def parse_and_deliver(maildir, url, statedir): msg.set_unixfrom("\"%s\" " %(url)) msg.add_header("From", "\"%s\" " %(author)) msg.add_header("To", "\"%s\" " %(url)) + if prevmessageid: + msg.add_header("References", prevmessageid) createddate = datetime.datetime(*item["updated_parsed"][0:6]) \ .strftime("%a, %e %b %Y %T -0000") msg.add_header("Date", createddate) @@ -337,6 +343,8 @@ def parse_and_deliver(maildir, url, statedir): os.unlink(fn) # now add to the database about the item + if prevmessageid: + messageid = prevmessageid + " " + messageid data = urllib.urlencode(( ("message-id", messageid), \ ("created", createddate), \ -- 2.39.5