From d13be1aab424846b889b6e5952c23c4a1e114a51 Mon Sep 17 00:00:00 2001 From: Sean Whalen Date: Tue, 20 Mar 2018 11:22:28 -0400 Subject: [PATCH] Normalize aggregate report IDs --- CHANGELOG.md | 8 ++++++-- parsedmarc/__init__.py | 4 ++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d3c98bd..196248e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,14 @@ 3.0.0 ----- +### New features +- Add option to select the IMAP folder where reports are stored +- Add options to send data to Elasticsearch + +### Changes - Detect aggregate report email attachments by file content rather than file extension - In an aggregate report's `org_name` is a FQDN, the base is used -- Add option to select the IMAP folder where reports are stored -- Add options to send data to Elasticsearch +- Normalize aggregate report IDs 2.1.2 ----- diff --git a/parsedmarc/__init__.py b/parsedmarc/__init__.py index c6bfc4df..9771b413 100644 --- a/parsedmarc/__init__.py +++ b/parsedmarc/__init__.py @@ -424,6 +424,10 @@ def parse_aggregate_report_xml(xml, nameservers=None, timeout=6.0): extra = report_metadata["extra_contact_info"] new_report_metadata["org_extra_contact_info"] = extra new_report_metadata["report_id"] = report_metadata["report_id"] + report_id = new_report_metadata["report_id"] + report_id = report_id.replace("<", + "").replace(">", "").split("@")[0] + report_metadata["report_id"] = report_id date_range = report["report_metadata"]["date_range"] date_range["begin"] = _timestamp_to_human(date_range["begin"]) date_range["end"] = _timestamp_to_human(date_range["end"])