From 67beba06bc4a3d0ebac358eb59c9987c02d21bac Mon Sep 17 00:00:00 2001 From: Folker Bernitt Date: Tue, 17 Mar 2015 13:53:40 +0100 Subject: Don't fail to parse mail if neither Date nor Received header is avail. - Issue #331 --- service/pixelated/adapter/model/mail.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'service/pixelated/adapter/model/mail.py') diff --git a/service/pixelated/adapter/model/mail.py b/service/pixelated/adapter/model/mail.py index f262d420..65e87f54 100644 --- a/service/pixelated/adapter/model/mail.py +++ b/service/pixelated/adapter/model/mail.py @@ -305,7 +305,13 @@ class PixelatedMail(Mail): def _get_date(self): date = self.hdoc.content.get('date', None) if not date: - date = self.hdoc.content['received'].split(";")[-1].strip() + received = self.hdoc.content.get('received', None) + if received: + date = received.split(";")[-1].strip() + else: + # we can't get a date for this mail, so lets just use now + logger.warning('Encountered a mail with missing date and received header fields. Subject %s' % self.hdoc.content.get('subject', None)) + date = pixelated.support.date.iso_now() return dateparser.parse(date).isoformat() @property -- cgit v1.2.3