# HG changeset patch # User Paul Boddie # Date 1428764856 -7200 # Node ID e2716836f4781cea50cec82c65d70617761dcab7 # Parent d8f6365ddee673dd9a2bb63ca7d337829e7ff56f Postpone date parsing, removing the DateSupport dependency from MoinMessage. diff -r d8f6365ddee6 -r e2716836f478 MoinMessage.py --- a/MoinMessage.py Fri Apr 10 17:21:27 2015 +0200 +++ b/MoinMessage.py Sat Apr 11 17:07:36 2015 +0200 @@ -19,7 +19,6 @@ from subprocess import Popen, PIPE from tempfile import mkstemp from urlparse import urlsplit -from DateSupport import getDateTimeFromRFC2822 from GPGUtils import GPG, GPGError, GPGDecodingError, GPGMissingPart, GPGBadContent, \ as_string, is_signed, is_encrypted, getContentAndSignature import httplib @@ -60,10 +59,7 @@ "Obtain the date of the given 'message'." - if message.has_key("Date"): - self.date = getDateTimeFromRFC2822(message["Date"]) - else: - self.date = None + self.date = message.get("Date") def parse_text(self, text): diff -r d8f6365ddee6 -r e2716836f478 MoinMessageSupport.py --- a/MoinMessageSupport.py Fri Apr 10 17:21:27 2015 +0200 +++ b/MoinMessageSupport.py Sat Apr 11 17:07:36 2015 +0200 @@ -2,7 +2,7 @@ """ MoinMoin - MoinMessageSupport library - @copyright: 2012, 2013, 2014 by Paul Boddie + @copyright: 2012, 2013, 2014, 2015 by Paul Boddie @license: GNU GPL (v2 or later), see COPYING.txt for details. """ @@ -20,6 +20,7 @@ is_signed, is_encrypted, getContentAndSignature from MoinSupport import getHeader, getMetadata, getWikiDict, writeHeaders, \ parseDictEntry, getStaticContentDirectory +from DateSupport import getDateTimeFromRFC2822 from ItemSupport import ItemStore from TokenSupport import getIdentifiers @@ -253,6 +254,7 @@ # Test any date against the page or message store (if not empty). if message.date: + date = getDateTimeFromRFC2822(message.date) store_date = time.gmtime(self.store.mtime()) page_date = time.gmtime(version2timestamp(self.page.mtime_usecs())) @@ -263,9 +265,9 @@ # Reject messages older than the page date. - if message.date.to_utc().as_tuple() < last_date: + if date.to_utc().as_tuple() < last_date: writeHeaders(request, "text/plain", getMetadata(self.page), "403 Forbidden") - request.write("The message is too old: %s versus %s." % (message.date, time.strftime("%Y-%m-%d %H:%M:%S", last_date))) + request.write("The message is too old: %s versus %s." % (date, time.strftime("%Y-%m-%d %H:%M:%S", last_date))) return # Reject messages without dates if so configured. diff -r d8f6365ddee6 -r e2716836f478 actions/PostMessage.py --- a/actions/PostMessage.py Fri Apr 10 17:21:27 2015 +0200 +++ b/actions/PostMessage.py Sat Apr 11 17:07:36 2015 +0200 @@ -100,7 +100,7 @@ # Propagate time information using the unintuitive time functions. if message.date: - update["Date"] = message.date.as_RFC2822_datetime_string() + update["Date"] = message.date self.store.append(as_string(update))