From 0825da15db5984c70a9aa9e61b0018352447d1a9 Mon Sep 17 00:00:00 2001 From: Kaalleen <36401965+kaalleen@users.noreply.github.com> Date: Sat, 10 Feb 2024 20:17:36 +0100 Subject: Fix lettering id-error and trims (#2711) --- lib/svg/svg.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'lib/svg/svg.py') diff --git a/lib/svg/svg.py b/lib/svg/svg.py index 3bd9a693..2c521098 100644 --- a/lib/svg/svg.py +++ b/lib/svg/svg.py @@ -14,20 +14,13 @@ def get_document(node): return node.getroottree().getroot() -def generate_unique_id(document_or_element, prefix="path"): +def generate_unique_id(document_or_element, prefix="path", blocklist=None): if isinstance(document_or_element, etree._ElementTree): document = document_or_element.getroot() else: document = get_document(document_or_element) - doc_ids = {node.get('id') for node in document.iterdescendants() if 'id' in node.attrib} - - i = 1 - while True: - new_id = "%s%d" % (prefix, i) - if new_id not in doc_ids: - break - i += 1 + new_id = document.get_unique_id(prefix, blacklist=blocklist) return new_id -- cgit v1.2.3