clean up generated xml before parsing it
This commit is contained in:
parent
a71a24c884
commit
88f7f232b7
2 changed files with 5 additions and 14 deletions
|
@ -6,7 +6,6 @@ from matplotlib.path import Path
|
|||
from shapely import speedups
|
||||
from shapely.geometry import LineString, Polygon
|
||||
|
||||
|
||||
if speedups.available:
|
||||
speedups.enable()
|
||||
|
||||
|
|
|
@ -3,7 +3,6 @@ import math
|
|||
import re
|
||||
import subprocess
|
||||
import xml.etree.ElementTree as ET
|
||||
from itertools import chain
|
||||
|
||||
from django.conf import settings
|
||||
from django.core.checks import Error, register
|
||||
|
@ -151,18 +150,11 @@ class SVGImage:
|
|||
geometry = affine_transform(geometry, (self.scale, 0.0,
|
||||
0.0, -self.scale,
|
||||
-(self.left)*self.scale, (self.top)*self.scale))
|
||||
element = ET.fromstring(self._trim_decimals(geometry.svg(0, '#FFFFFF')))
|
||||
if element.tag != 'g':
|
||||
new_element = ET.Element('g')
|
||||
new_element.append(element)
|
||||
element = new_element
|
||||
|
||||
for elem in chain(element.findall('polyline'), element.findall('path')):
|
||||
elem.attrib.pop('opacity', None)
|
||||
elem.attrib.pop('fill', None)
|
||||
elem.attrib.pop('fill-rule', None)
|
||||
elem.attrib.pop('stroke', None)
|
||||
elem.attrib.pop('stroke-width', None)
|
||||
element = self._trim_decimals(re.sub(r' (opacity|fill|fill-rule|stroke|stroke-width)="[^"]*"', '',
|
||||
geometry.svg(0, '#FFFFFF')))
|
||||
if not element.startswith('<g '):
|
||||
element = '<g>'+element+'</g>'
|
||||
element = ET.fromstring(element)
|
||||
return element
|
||||
|
||||
def register_geometry(self, geometry, defid=None, as_clip_path=False, comment=None):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue