diff --git a/src/webqueue2api/parser/item.py b/src/webqueue2api/parser/item.py index 4f6c585..fcef549 100644 --- a/src/webqueue2api/parser/item.py +++ b/src/webqueue2api/parser/item.py @@ -1,6 +1,7 @@ import os import time import email +from email.policy import Policy import re import datetime from dateutil.parser import parse @@ -220,9 +221,15 @@ def __parse_sections(self) -> list: # Convert list of lines to single string raw_item_as_string = "".join(self.__raw_item) + # Temporarily make the email package raise an error upon encountering a defect in the headers + Policy.raise_on_defect = True + # Parse body body_sections = parse_item(raw_item_as_string) + # Return the email oackage to its normal parsing state + Policy.raise_on_defect = False + # Add initial message headers to intial message section for index, section in enumerate(body_sections): if section["type"] == "initial_message": diff --git a/src/webqueue2api/parser/parser.py b/src/webqueue2api/parser/parser.py index 44db3db..24fe3bc 100644 --- a/src/webqueue2api/parser/parser.py +++ b/src/webqueue2api/parser/parser.py @@ -2,12 +2,10 @@ import json import string import email -from email.policy import Policy import email.errors import datetime from .utils import format_date_string from .errors import ParseError -Policy.raise_on_defect = True parsed_item = []