Commit f6ed67fc authored by Luke Campagnola's avatar Luke Campagnola
Browse files

merged SVG export fixes for python 3

parents bb3533ab b48e0e9e
from .Exporter import Exporter
from pyqtgraph.python2_3 import asUnicode
from pyqtgraph.parametertree import Parameter
from pyqtgraph.Qt import QtGui, QtCore, QtSvg
import pyqtgraph as pg
......@@ -91,8 +92,8 @@ class SVGExporter(Exporter):
md.setData('image/svg+xml', QtCore.QByteArray(xml.encode('UTF-8')))
with open(fileName, 'w') as fh:
with open(fileName, 'wb') as fh:
xmlHeader = """\
......@@ -221,8 +222,8 @@ def _generateItemSvg(item, nodes=None, root=None):
## this is taken care of in generateSvg instead.
#if hasattr(item, 'setExportMode'):
xmlStr = str(arr)
xmlStr = bytes(arr).decode('utf-8')
doc = xml.parseString(xmlStr)
......@@ -340,7 +341,7 @@ def correctCoordinates(node, item):
if match is None:
vals = [1,0,0,1,0,0]
vals = map(float, match.groups()[0].split(','))
vals = [float(a) for a in match.groups()[0].split(',')]
tr = np.array([[vals[0], vals[2], vals[4]], [vals[1], vals[3], vals[5]]])
removeTransform = False
......@@ -349,9 +350,9 @@ def correctCoordinates(node, item):
if ch.tagName == 'polyline':
removeTransform = True
coords = np.array([map(float, c.split(',')) for c in ch.getAttribute('points').strip().split(' ')])
coords = np.array([[float(a) for a in c.split(',')] for c in ch.getAttribute('points').strip().split(' ')])
coords = pg.transformCoordinates(tr, coords, transpose=True)
ch.setAttribute('points', ' '.join([','.join(map(str, c)) for c in coords]))
ch.setAttribute('points', ' '.join([','.join([str(a) for a in c]) for c in coords]))
elif ch.tagName == 'path':
removeTransform = True
newCoords = ''
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment