removeUnusedDefs: Call getAttribute at most once per element
Signed-off-by: Niels Thykier <niels@thykier.net>
This commit is contained in:
parent
c5362743c3
commit
528ad91418
1 changed files with 6 additions and 2 deletions
|
|
@ -647,8 +647,12 @@ def removeUnusedDefs(doc, defElem, elemsToRemove=None, referencedIDs=None):
|
||||||
keepTags = ['font', 'style', 'metadata', 'script', 'title', 'desc']
|
keepTags = ['font', 'style', 'metadata', 'script', 'title', 'desc']
|
||||||
for elem in defElem.childNodes:
|
for elem in defElem.childNodes:
|
||||||
# only look at it if an element and not referenced anywhere else
|
# only look at it if an element and not referenced anywhere else
|
||||||
if elem.nodeType == Node.ELEMENT_NODE and (elem.getAttribute('id') == '' or
|
if elem.nodeType != Node.ELEMENT_NODE:
|
||||||
elem.getAttribute('id') not in referencedIDs):
|
continue
|
||||||
|
|
||||||
|
elem_id = elem.getAttribute('id')
|
||||||
|
|
||||||
|
if elem_id == '' or elem_id not in referencedIDs:
|
||||||
# we only inspect the children of a group in a defs if the group
|
# we only inspect the children of a group in a defs if the group
|
||||||
# is not referenced anywhere else
|
# is not referenced anywhere else
|
||||||
if elem.nodeName == 'g' and elem.namespaceURI == NS['SVG']:
|
if elem.nodeName == 'g' and elem.namespaceURI == NS['SVG']:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue