From cd74feb4a13d78169264621aeff55b75ec751660 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Fri, 1 Nov 2019 14:05:52 +0100 Subject: [PATCH] switch feed_emails command to python 3 --- eodb/events/management/commands/feed_emails.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) 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={