From fcddf97dfb1cceaa520eca91352c0d50571b961c Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sun, 14 Aug 2016 18:17:03 +0200 Subject: [PATCH] Don't remove unreferenced defs if `--keep-unreferenced-defs` is specified (fixes #18) --- scour/scour.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scour/scour.py b/scour/scour.py index f65e271..5e9aaf0 100644 --- a/scour/scour.py +++ b/scour/scour.py @@ -623,7 +623,9 @@ def removeUnreferencedElements(doc, keepDefs): for id in identifiedElements: if not id in referencedIDs: goner = identifiedElements[id] - if goner != None and goner.parentNode != None and goner.nodeName in removeTags: + if (goner != None and goner.nodeName in removeTags + and goner.parentNode != None + and goner.parentNode.tagName != 'defs'): goner.parentNode.removeChild(goner) num += 1 numElemsRemoved += 1