diff --git a/verify_nzb.py b/verify_nzb.py index 953dccd..55fc6d5 100644 --- a/verify_nzb.py +++ b/verify_nzb.py @@ -91,11 +91,11 @@ def parse_nzb_message_ids(path: str | Path) -> Iterator[str]: with open(path, "rb") as handle: for event, elem in ET.iterparse(handle, events=("end",)): - if _local_name(elem.tag) != "segment": - continue - text = (elem.text or "").strip() - if text: - yield text + if _local_name(elem.tag) == "segment": + text = (elem.text or "").strip() + if text: + yield text + # Always clear the element to prevent memory leaks from building the entire DOM tree elem.clear()