diff options
Diffstat (limited to 'lib/svg')
| -rw-r--r-- | lib/svg/svg.py | 11 |
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 |
