summaryrefslogtreecommitdiff
path: root/lib/svg
diff options
context:
space:
mode:
authorKaalleen <36401965+kaalleen@users.noreply.github.com>2024-02-10 20:17:36 +0100
committerGitHub <noreply@github.com>2024-02-10 20:17:36 +0100
commit0825da15db5984c70a9aa9e61b0018352447d1a9 (patch)
tree6ec3783d7e51314524f0e87b1f5c7d96793faad7 /lib/svg
parent0fb7d82f72adaa44009bfaa173d94eaf22b559c3 (diff)
Fix lettering id-error and trims (#2711)
Diffstat (limited to 'lib/svg')
-rw-r--r--lib/svg/svg.py11
1 files changed, 2 insertions, 9 deletions
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