diff --git a/eodb/events/management/commands/feed_emails.py b/eodb/events/management/commands/feed_emails.py index ff3be87..0a9c9fc 100644 --- a/eodb/events/management/commands/feed_emails.py +++ b/eodb/events/management/commands/feed_emails.py @@ -1,6 +1,6 @@ import datetime +import email.utils import mailbox -import rfc822 import time from django.core.management.base import BaseCommand @@ -21,11 +21,14 @@ class Command(BaseCommand): message = box[message_id] try: list_id = message['list-id'].strip('<>').replace('.listes.entrouvert.com', '') - except KeyError: - print 'failed to get list id', message['date'], message['subject'] + except (KeyError, AttributeError): + print('failed to get list id', message['date'], message['subject']) continue - author_email = rfc822.parseaddr(message['From'])[1] - author_date = datetime.datetime.fromtimestamp(time.mktime(rfc822.parsedate(message['date']))) + try: + author_email = email.utils.parseaddr(message['From'])[1] + except TypeError: + continue + author_date = email.utils.parsedate_to_datetime(message['date']) msg, created = Email.objects.get_or_create(msgid=message_id, defaults={