blob: 3715def8b59c96d0d17ec6ad8a5ce32af863c32e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
from inkex import etree
from ..utils import cache
@cache
def get_document(node):
return node.getroottree().getroot()
def generate_unique_id(document_or_element, prefix="path"):
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
return new_id
|