From f557708ce06321e43d85443d865111e99346be36 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz <henrik@levkowetz.com> Date: Mon, 12 Oct 2020 11:24:15 +0000 Subject: [PATCH] Fixed another py2/py3 issue with the nomcom mail processing script. - Legacy-Id: 18602 --- ietf/nomcom/utils.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/ietf/nomcom/utils.py b/ietf/nomcom/utils.py index 32b2ff79e..b0d86c35c 100644 --- a/ietf/nomcom/utils.py +++ b/ietf/nomcom/utils.py @@ -8,7 +8,7 @@ import os import re import tempfile -from email import message_from_string +from email import message_from_string, message_from_bytes from email.header import decode_header from email.iterators import typed_subpart_iterator from email.utils import parseaddr @@ -20,7 +20,6 @@ from django.core.exceptions import ObjectDoesNotExist from django.urls import reverse from django.template.loader import render_to_string from django.shortcuts import get_object_or_404 -from django.utils.encoding import force_str from ietf.dbtemplate.models import DBTemplate from ietf.person.models import Email, Person @@ -450,7 +449,12 @@ def get_body(message): def parse_email(text): - msg = message_from_string(force_str(text)) + if isinstance(text, bytes): + msg = message_from_bytes(text) + elif isinstance(text, str): + msg = message_from_string(text) + else: + raise ValueError("Expected email message text to be str or bytes") body = get_body(msg) subject = getheader(msg['Subject'])