X-Git-Url: https://git.sommitrealweird.co.uk/rss2maildir.git/blobdiff_plain/8488a0a338597575257a677f34b4db2754c33927..d4cf848001ab703a452b059b8c17f2a4cb7a19ca:/rss2maildir.py diff --git a/rss2maildir.py b/rss2maildir.py index 533e34d..b4acdec 100755 --- a/rss2maildir.py +++ b/rss2maildir.py @@ -39,7 +39,11 @@ from optparse import OptionParser from ConfigParser import SafeConfigParser from base64 import b64encode -import md5 + +if sys.version_info[0] == 2 and sys.version_info[1] >= 6: + import hashlib as md5 +else: + import md5 import cgi import dbm @@ -608,10 +612,17 @@ def open_url(method, url): (type, rest) = urllib.splittype(url) (host, path) = urllib.splithost(rest) (host, port) = urllib.splitport(host) - if port == None: + if type == "https": + if port == None: + port = 443 + elif port == None: port = 80 try: - conn = httplib.HTTPConnection("%s:%s" %(host, port)) + conn = None + if type == "http": + conn = httplib.HTTPConnection("%s:%s" %(host, port)) + else: + conn = httplib.HTTPSConnection("%s:%s" %(host, port)) conn.request(method, path) response = conn.getresponse() if response.status in [301, 302, 303, 307]: @@ -692,12 +703,13 @@ def parse_and_deliver(maildir, url, statedir): prevmessageid = None - db_guid_key = (url + u'|' + item["guid"]).encode("utf-8") + db_guid_key = None db_link_key = (url + u'|' + item["link"]).encode("utf-8") # check if there's a guid too - if that exists and we match the md5, # return if item.has_key("guid"): + db_guid_key = (url + u'|' + item["guid"]).encode("utf-8") if db.has_key(db_guid_key): data = db[db_guid_key] data = cgi.parse_qs(data) @@ -741,6 +753,8 @@ def parse_and_deliver(maildir, url, statedir): except: pass msg.add_header("Date", createddate) + msg.add_header("X-rss2maildir-rundate", datetime.datetime.now() \ + .strftime("%a, %e %b %Y %T -0000")) subj_gen = HTML2Text() title = item["title"] title = re.sub(u'<', u'<', title)