diff options
Diffstat (limited to 'umessage.py')
-rw-r--r-- | umessage.py | 15 |
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 |