From c69c368a4f26f2b3a3a1b3bb8a5ebb3fd68a5c86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Manuel=20Barroso=20Galindo?= Date: Wed, 30 Nov 2022 12:46:33 +0100 Subject: [PATCH] Improving ET.iterparse interface --- .github/calculate_db.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/calculate_db.py b/.github/calculate_db.py index 320735444..d6eeb3d81 100755 --- a/.github/calculate_db.py +++ b/.github/calculate_db.py @@ -9,7 +9,7 @@ import time import re import subprocess import sys -import os +import io import tempfile import xml.etree.ElementTree as ET import xml.etree.ElementTree @@ -881,11 +881,14 @@ def et_iterparse(mra_file, events): with open(mra_file, 'r') as f: text = f.read() - with tempfile.NamedTemporaryFile() as temp: - with open(temp.name, 'w') as f: - f.write(text.lower()) - - return ET.iterparse(temp.name, events=events) + with io.StringIO() as f: + f.write(text.lower()) + f.seek(0) + try: + return ET.iterparse(f, events=events) + except Error as e: + print('Exception during %s !' % mra_file) + raise e def read_mra_fields(mra_path): rbf = None