diff options
author | Aurélien Bompard <aurelien@bompard.org> | 2013-05-27 18:59:47 +0200 |
---|---|---|
committer | Aurélien Bompard <aurelien@bompard.org> | 2013-05-27 18:59:47 +0200 |
commit | 91c10e88899497c76428f101667c3ab02bb7fe99 (patch) | |
tree | 07f38d86865e9d56ba5e22eaecbce82e717b855b | |
parent | ca0e0386e79c72b2dc28083ab2b6b85ef574b33d (diff) | |
download | kittystore-91c10e88899497c76428f101667c3ab02bb7fe99.tar.gz kittystore-91c10e88899497c76428f101667c3ab02bb7fe99.tar.xz kittystore-91c10e88899497c76428f101667c3ab02bb7fe99.zip |
Fix the storing of timezones
-rw-r--r-- | kittystore/storm/store.py | 2 | ||||
-rw-r--r-- | kittystore/test/test_storm_store.py | 16 |
2 files changed, 17 insertions, 1 deletions
diff --git a/kittystore/storm/store.py b/kittystore/storm/store.py index b4e0812..4afd463 100644 --- a/kittystore/storm/store.py +++ b/kittystore/storm/store.py @@ -121,10 +121,10 @@ class StormStore(object): if msg_date is None: # Absent or unparseable date msg_date = datetime.datetime.now() + utcoffset = msg_date.utcoffset() if msg_date.tzinfo is not None: msg_date = msg_date.astimezone(tzutc()).replace(tzinfo=None) email.date = msg_date - utcoffset = msg_date.utcoffset() if utcoffset is None: email.timezone = 0 else: diff --git a/kittystore/test/test_storm_store.py b/kittystore/test/test_storm_store.py index 7ff7faa..b33304f 100644 --- a/kittystore/test/test_storm_store.py +++ b/kittystore/test/test_storm_store.py @@ -56,6 +56,22 @@ class TestStormStore(unittest.TestCase): stored_msg = self.store.db.find(Email).one() expected = datetime.datetime(2012, 11, 2, 16, 7, 54) self.assertEqual(stored_msg.date, expected) + self.assertEqual(stored_msg.timezone, 0) + + def test_date_aware(self): + msg = Message() + msg["From"] = "dummy@example.com" + msg["Message-ID"] = "<dummy>" + msg["Date"] = "Fri, 02 Nov 2012 16:07:54 +0100" + msg.set_payload("Dummy message") + try: + self.store.add_to_list(FakeList("example-list"), msg) + except IntegrityError, e: + self.fail(e) + stored_msg = self.store.db.find(Email).one() + expected = datetime.datetime(2012, 11, 2, 15, 7, 54) + self.assertEqual(stored_msg.date, expected) + self.assertEqual(stored_msg.timezone, 60) def test_attachment_insert_order(self): """Attachments must not be inserted in the DB before the email""" |