about summary refs log tree commit diff
path: root/wqflask/utility/svg.py
diff options
context:
space:
mode:
Diffstat (limited to 'wqflask/utility/svg.py')
-rw-r--r--wqflask/utility/svg.py60
1 files changed, 40 insertions, 20 deletions
diff --git a/wqflask/utility/svg.py b/wqflask/utility/svg.py
index f5ef81e1..8d2e13ab 100644
--- a/wqflask/utility/svg.py
+++ b/wqflask/utility/svg.py
@@ -239,19 +239,23 @@ class pathdata:
 
     def smbezier(self, x2, y2, x, y):
         """smooth bezier with xy2 to xy absolut"""
-        self.path.append('S' + str(x2) + ',' + str(y2) + ' ' + str(x) + ',' + str(y))
+        self.path.append('S' + str(x2) + ',' + str(y2) + \
+                         ' ' + str(x) + ',' + str(y))
 
     def relsmbezier(self, x2, y2, x, y):
         """smooth bezier with xy2 to xy relative"""
-        self.path.append('s' + str(x2) + ',' + str(y2) + ' ' + str(x) + ',' + str(y))
+        self.path.append('s' + str(x2) + ',' + str(y2) + \
+                         ' ' + str(x) + ',' + str(y))
 
     def qbezier(self, x1, y1, x, y):
         """quadratic bezier with xy1 to xy absolut"""
-        self.path.append('Q' + str(x1) + ',' + str(y1) + ' ' + str(x) + ',' + str(y))
+        self.path.append('Q' + str(x1) + ',' + str(y1) + \
+                         ' ' + str(x) + ',' + str(y))
 
     def relqbezier(self, x1, y1, x, y):
         """quadratic bezier with xy1 to xy relative"""
-        self.path.append('q' + str(x1) + ',' + str(y1) + ' ' + str(x) + ',' + str(y))
+        self.path.append('q' + str(x1) + ',' + str(y1) + \
+                         ' ' + str(x) + ',' + str(y))
 
     def smqbezier(self, x, y):
         """smooth quadratic bezier to xy absolut"""
@@ -447,7 +451,8 @@ class rect(SVGelement):
         if width == None or height == None:
             raise ValueError('both height and width are required')
 
-        SVGelement.__init__(self, 'rect', {'width': width, 'height': height}, **args)
+        SVGelement.__init__(
+            self, 'rect', {'width': width, 'height': height}, **args)
         if x != None:
             self.attributes['x'] = x
         if y != None:
@@ -545,7 +550,8 @@ class polyline(SVGelement):
     """
 
     def __init__(self, points, fill=None, stroke=None, stroke_width=None,**args):
-        SVGelement.__init__(self, 'polyline', {'points': _xypointlist(points)}, **args)
+        SVGelement.__init__(self, 'polyline', {
+                            'points': _xypointlist(points)}, **args)
         if fill != None:
             self.attributes['fill'] = fill
         if stroke_width != None:
@@ -561,7 +567,8 @@ class polygon(SVGelement):
     """
 
     def __init__(self, points, fill=None, stroke=None, stroke_width=None,**args):
-        SVGelement.__init__(self, 'polygon', {'points': _xypointlist(points)}, **args)
+        SVGelement.__init__(
+            self, 'polygon', {'points': _xypointlist(points)}, **args)
         if fill != None:
             self.attributes['fill'] = fill
         if stroke_width != None:
@@ -745,7 +752,8 @@ class image(SVGelement):
     def __init__(self, url, x=None, y=None, width=None,height=None,**args):
         if width == None or height == None:
             raise ValueError('both height and width are required')
-        SVGelement.__init__(self, 'image', {'xlink:href': url, 'width': width, 'height':height}, **args)
+        SVGelement.__init__(
+            self, 'image', {'xlink:href': url, 'width': width, 'height':height}, **args)
         if x != None:
             self.attributes['x'] = x
         if y != None:
@@ -886,7 +894,8 @@ class script(SVGelement):
     """
 
     def __init__(self, type, cdata=None, **args):
-        SVGelement.__init__(self, 'script', {'type': type}, cdata=cdata, **args)
+        SVGelement.__init__(
+            self, 'script', {'type': type}, cdata=cdata, **args)
 
 
 class animate(SVGelement):
@@ -896,7 +905,8 @@ class animate(SVGelement):
     """
 
     def __init__(self, attribute, fr=None, to=None, dur=None,**args):
-        SVGelement.__init__(self, 'animate', {'attributeName': attribute}, **args)
+        SVGelement.__init__(
+            self, 'animate', {'attributeName': attribute}, **args)
         if fr != None:
             self.attributes['from'] = fr
         if to != None:
@@ -926,7 +936,8 @@ class animateTransform(SVGelement):
     """
 
     def __init__(self, type=None, fr=None, to=None, dur=None,**args):
-        SVGelement.__init__(self, 'animateTransform', {'attributeName': 'transform'}, **args)
+        SVGelement.__init__(self, 'animateTransform', {
+                            'attributeName': 'transform'}, **args)
         # As far as I know the attributeName is always transform
         if type != None:
             self.attributes['type'] = type
@@ -945,7 +956,8 @@ class animateColor(SVGelement):
     """
 
     def __init__(self, attribute, type=None, fr=None, to=None,dur=None,**args):
-        SVGelement.__init__(self, 'animateColor', {'attributeName': attribute}, **args)
+        SVGelement.__init__(self, 'animateColor', {
+                            'attributeName': attribute}, **args)
         if type != None:
             self.attributes['type'] = type
         if fr != None:
@@ -1020,11 +1032,13 @@ class drawing:
             import io
             xml = io.StringIO()
             xml.write("<?xml version='1.0' encoding='UTF-8'?>\n")
-            xml.write("<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.0//EN\" \"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd\"")
+            xml.write(
+                "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.0//EN\" \"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd\"")
             if self.entity:
                 xml.write(" [\n")
                 for item in list(self.entity.keys()):
-                    xml.write("<!ENTITY %s \"%s\">\n" % (item, self.entity[item]))
+                    xml.write("<!ENTITY %s \"%s\">\n" %
+                              (item, self.entity[item]))
                 xml.write("]")
             xml.write(">\n")
             self.svg.toXml(0, xml)
@@ -1042,7 +1056,8 @@ class drawing:
             else:
                 if filename[-4:] == 'svgz':
                     import gzip
-                    f = gzip.GzipFile(filename=filename, mode="wb", compresslevel=9)
+                    f = gzip.GzipFile(filename=filename,
+                                      mode="wb", compresslevel=9)
                     f.write(xml.getvalue())
                     f.close()
                 else:
@@ -1057,7 +1072,8 @@ class drawing:
             writes a svg drawing to the screen or to a file
             compresses if filename ends with svgz or if compress is true
             """
-            doctype = implementation.createDocumentType('svg', "-//W3C//DTD SVG 1.0//EN""", 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd ')
+            doctype = implementation.createDocumentType(
+                'svg', "-//W3C//DTD SVG 1.0//EN""", 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd ')
 
             global root
             # root is defined global so it can be used by the appender. Its also possible to use it as an arugument but
@@ -1076,8 +1092,10 @@ class drawing:
                 if element.text:
                     textnode = root.createTextNode(element.text)
                     e.appendChild(textnode)
-                for attribute in list(element.attributes.keys()):  # in element.attributes is supported from python 2.2
-                    e.setAttribute(attribute, str(element.attributes[attribute]))
+                # in element.attributes is supported from python 2.2
+                for attribute in list(element.attributes.keys()):
+                    e.setAttribute(attribute, str(
+                        element.attributes[attribute]))
                 if element.elements:
                     for el in element.elements:
                         e = appender(el, e)
@@ -1105,7 +1123,8 @@ class drawing:
                         import io
                         xml = io.StringIO()
                         PrettyPrint(root, xml)
-                        f = gzip.GzipFile(filename=filename, mode='wb', compresslevel=9)
+                        f = gzip.GzipFile(filename=filename,
+                                          mode='wb', compresslevel=9)
                         f.write(xml.getvalue())
                         f.close()
                     else:
@@ -1119,7 +1138,8 @@ class drawing:
         try:
             import xml.parsers.xmlproc.xmlval
         except:
-            raise exceptions.ImportError('PyXml is required for validating SVG')
+            raise exceptions.ImportError(
+                'PyXml is required for validating SVG')
         svg = self.toXml()
         xv = xml.parsers.xmlproc.xmlval.XMLValidator()
         try: