Fix issue with some SVG symbols that could not be used in GNS3.

This was due to the height and width values being percentages.
This commit is contained in:
grossmj committed 2018-06-06 16:32:51 +07:00
1 parent 19c5ff8521
commit fd5df0052a
2 files changed
+14 -6

No files matched your search

+10 -4
View File
@@ -103,10 +103,16 @@ def get_size(data, default_width=0, default_height=0):
root = tree.getroot()
try:
width = _svg_convert_size(root.attrib.get("width", "0"))
height = _svg_convert_size(root.attrib.get("height", "0"))
except IndexError:
raise ValueError("Invalid SVG file")
width_attr = root.attrib.get("width", "0")
height_attr = root.attrib.get("height", "0")
if width_attr.endswith("%") or height_attr.endswith("%"):
# check to viewBox attribute if width or height value is a percentage
_, _, width_attr, height_attr = root.attrib.get("viewBox").split()
else:
width = _svg_convert_size(width_attr)
height = _svg_convert_size(height_attr)
except (AttributeError, IndexError) as e:
raise ValueError("Invalid SVG file: {}".format(e))
return width, height, filetype