summaryrefslogtreecommitdiff
path: root/umessage.py
diff options
context:
space:
mode:
Diffstat (limited to 'umessage.py')
-rw-r--r--umessage.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/umessage.py b/umessage.py
index 52111f0..1ab9125 100644
--- a/umessage.py
+++ b/umessage.py
@@ -110,16 +110,25 @@ class UMessage:
persons.append((name, mail))
return persons
- def date(self):
+ def date(self, alternative_source=False):
"""return a mx.DateTime object for the email's date or None if no date is
set or if it can't be parsed
"""
value = self.get('date')
- if value:
+ if value is None and alternative_source:
+ unix_from = self.message.get_unixfrom()
+ if unix_from is not None:
+ try:
+ value = unix_from.split(" ", 2)[2]
+ except IndexError:
+ pass
+
+ if value is not None:
datetuple = parsedate(value)
if datetuple:
return DateTime(*datetuple[:6])
- return None
+ else:
+ return None