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.py130
1 files changed, 65 insertions, 65 deletions
diff --git a/wqflask/utility/svg.py b/wqflask/utility/svg.py
index 874ada9d..19eda0ce 100644
--- a/wqflask/utility/svg.py
+++ b/wqflask/utility/svg.py
@@ -447,7 +447,7 @@ 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:
@@ -468,7 +468,7 @@ class ellipse(SVGelement):
         if rx==None or ry== None:
             raise ValueError('both rx and ry are required')
 
-        SVGelement.__init__(self,'ellipse',{'rx':rx,'ry':ry},**args)
+        SVGelement.__init__(self, 'ellipse', {'rx':rx,'ry':ry}, **args)
         if cx!=None:
             self.attributes['cx']=cx
         if cy!=None:
@@ -489,7 +489,7 @@ class circle(SVGelement):
     def __init__(self,cx=None,cy=None,r=None,fill=None,stroke=None,stroke_width=None,**args):
         if r==None:
             raise ValueError('r is required')
-        SVGelement.__init__(self,'circle',{'r':r},**args)
+        SVGelement.__init__(self, 'circle', {'r':r}, **args)
         if cx!=None:
             self.attributes['cx']=cx
         if cy!=None:
@@ -508,7 +508,7 @@ class point(circle):
     very small rectangle if you use many points because a circle is difficult to render.
     """
     def __init__(self,x,y,fill='black',**args):
-        circle.__init__(self,x,y,1,fill,**args)
+        circle.__init__(self, x, y, 1, fill, **args)
 
 class line(SVGelement):
     """l=line(x1,y1,x2,y2,stroke,stroke_width,**args)
@@ -516,7 +516,7 @@ class line(SVGelement):
     A line is defined by a begin x,y pair and an end x,y pair
     """
     def __init__(self,x1=None,y1=None,x2=None,y2=None,stroke=None,stroke_width=None,**args):
-        SVGelement.__init__(self,'line',**args)
+        SVGelement.__init__(self, 'line', **args)
         if x1!=None:
             self.attributes['x1']=x1
         if y1!=None:
@@ -536,7 +536,7 @@ class polyline(SVGelement):
     a polyline is defined by a list of xy pairs
     """
     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:
@@ -550,7 +550,7 @@ class polygon(SVGelement):
     a polygon is defined by a list of xy pairs
     """
     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:
@@ -564,7 +564,7 @@ class path(SVGelement):
     a path is defined by a path object and optional width, stroke and fillcolor
     """
     def __init__(self,pathdata,fill=None,stroke=None,stroke_width=None,id=None,**args):
-        SVGelement.__init__(self,'path',{'d':str(pathdata)},**args)
+        SVGelement.__init__(self, 'path', {'d':str(pathdata)}, **args)
         if stroke!=None:
             self.attributes['stroke']=stroke
         if fill!=None:
@@ -581,7 +581,7 @@ class text(SVGelement):
     a text element can bge used for displaying text on the screen
     """
     def __init__(self,x=None,y=None,text=None,font_size=None,font_family=None,text_anchor=None,**args):
-        SVGelement.__init__(self,'text',**args)
+        SVGelement.__init__(self, 'text', **args)
         if x!=None:
             self.attributes['x']=x
         if y!=None:
@@ -602,7 +602,7 @@ class textpath(SVGelement):
     a textpath places a text on a path which is referenced by a link.
     """
     def __init__(self,link,text=None,**args):
-        SVGelement.__init__(self,'textPath',{'xlink:href':link},**args)
+        SVGelement.__init__(self, 'textPath', {'xlink:href':link}, **args)
         if text!=None:
             self.text=text
 
@@ -614,7 +614,7 @@ class pattern(SVGelement):
     in x and y to cover the areas to be painted.
     """
     def __init__(self,x=None,y=None,width=None,height=None,patternUnits=None,**args):
-        SVGelement.__init__(self,'pattern',**args)
+        SVGelement.__init__(self, 'pattern', **args)
         if x!=None:
             self.attributes['x']=x
         if y!=None:
@@ -633,7 +633,7 @@ class title(SVGelement):
     add at least one to the root svg element
     """
     def __init__(self,text=None,**args):
-        SVGelement.__init__(self,'title',**args)
+        SVGelement.__init__(self, 'title', **args)
         if text!=None:
             self.text=text
 
@@ -644,7 +644,7 @@ class description(SVGelement):
     Add this element before adding other elements.
     """
     def __init__(self,text=None,**args):
-        SVGelement.__init__(self,'desc',**args)
+        SVGelement.__init__(self, 'desc', **args)
         if text!=None:
             self.text=text
 
@@ -655,7 +655,7 @@ class lineargradient(SVGelement):
     stop elements van be added to define the gradient colors.
     """
     def __init__(self,x1=None,y1=None,x2=None,y2=None,id=None,**args):
-        SVGelement.__init__(self,'linearGradient',**args)
+        SVGelement.__init__(self, 'linearGradient', **args)
         if x1!=None:
             self.attributes['x1']=x1
         if y1!=None:
@@ -674,7 +674,7 @@ class radialgradient(SVGelement):
     stop elements van be added to define the gradient colors.
     """
     def __init__(self,cx=None,cy=None,r=None,fx=None,fy=None,id=None,**args):
-        SVGelement.__init__(self,'radialGradient',**args)
+        SVGelement.__init__(self, 'radialGradient', **args)
         if cx!=None:
             self.attributes['cx']=cx
         if cy!=None:
@@ -694,7 +694,7 @@ class stop(SVGelement):
     Puts a stop color at the specified radius
     """
     def __init__(self,offset,stop_color=None,**args):
-        SVGelement.__init__(self,'stop',{'offset':offset},**args)
+        SVGelement.__init__(self, 'stop', {'offset':offset}, **args)
         if stop_color!=None:
             self.attributes['stop-color']=stop_color
 
@@ -704,7 +704,7 @@ class style(SVGelement):
     Add a CDATA element to this element for defing in line stylesheets etc..
     """
     def __init__(self,type,cdata=None,**args):
-        SVGelement.__init__(self,'style',{'type':type},cdata=cdata, **args)
+        SVGelement.__init__(self, 'style', {'type':type}, cdata=cdata, **args)
 
 
 class image(SVGelement):
@@ -715,7 +715,7 @@ 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:
@@ -727,7 +727,7 @@ class cursor(SVGelement):
     defines a custom cursor for a element or a drawing
     """
     def __init__(self,url,**args):
-        SVGelement.__init__(self,'cursor',{'xlink:href':url},**args)
+        SVGelement.__init__(self, 'cursor', {'xlink:href':url}, **args)
 
 
 class marker(SVGelement):
@@ -737,7 +737,7 @@ class marker(SVGelement):
     add an element to it which should be used as a marker.
     """
     def __init__(self,id=None,viewBox=None,refx=None,refy=None,markerWidth=None,markerHeight=None,**args):
-        SVGelement.__init__(self,'marker',**args)
+        SVGelement.__init__(self, 'marker', **args)
         if id!=None:
             self.attributes['id']=id
         if viewBox!=None:
@@ -758,7 +758,7 @@ class group(SVGelement):
     g.addElement(SVGelement)
     """
     def __init__(self,id=None,**args):
-        SVGelement.__init__(self,'g',**args)
+        SVGelement.__init__(self, 'g', **args)
         if id!=None:
             self.attributes['id']=id
 
@@ -772,7 +772,7 @@ class symbol(SVGelement):
     """
 
     def __init__(self,id=None,viewBox=None,**args):
-        SVGelement.__init__(self,'symbol',**args)
+        SVGelement.__init__(self, 'symbol', **args)
         if id!=None:
             self.attributes['id']=id
         if viewBox!=None:
@@ -784,7 +784,7 @@ class defs(SVGelement):
     container for defining elements
     """
     def __init__(self,**args):
-        SVGelement.__init__(self,'defs',**args)
+        SVGelement.__init__(self, 'defs', **args)
 
 class switch(SVGelement):
     """sw=switch(**args)
@@ -794,7 +794,7 @@ class switch(SVGelement):
     Refer to the SVG specification for details.
     """
     def __init__(self,**args):
-        SVGelement.__init__(self,'switch',**args)
+        SVGelement.__init__(self, 'switch', **args)
 
 
 class use(SVGelement):
@@ -803,7 +803,7 @@ class use(SVGelement):
     references a symbol by linking to its id and its position, height and width
     """
     def __init__(self,link,x=None,y=None,width=None,height=None,**args):
-        SVGelement.__init__(self,'use',{'xlink:href':link},**args)
+        SVGelement.__init__(self, 'use', {'xlink:href':link}, **args)
         if x!=None:
             self.attributes['x']=x
         if y!=None:
@@ -822,14 +822,14 @@ class link(SVGelement):
     a.addElement(SVGelement)
     """
     def __init__(self,link='',**args):
-        SVGelement.__init__(self,'a',{'xlink:href':link},**args)
+        SVGelement.__init__(self, 'a', {'xlink:href':link}, **args)
 
 class view(SVGelement):
     """v=view(id,**args)
 
     a view can be used to create a view with different attributes"""
     def __init__(self,id=None,**args):
-        SVGelement.__init__(self,'view',**args)
+        SVGelement.__init__(self, 'view', **args)
         if id!=None:
             self.attributes['id']=id
 
@@ -840,7 +840,7 @@ 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):
     """an=animate(attribute,from,to,during,**args)
@@ -848,7 +848,7 @@ class animate(SVGelement):
     animates an attribute.
     """
     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:
@@ -862,7 +862,7 @@ class animateMotion(SVGelement):
     animates a SVGelement over the given path in dur seconds
     """
     def __init__(self,pathdata,dur,**args):
-        SVGelement.__init__(self,'animateMotion',**args)
+        SVGelement.__init__(self, 'animateMotion', **args)
         if pathdata!=None:
             self.attributes['path']=str(pathdata)
         if dur!=None:
@@ -874,7 +874,7 @@ class animateTransform(SVGelement):
     transform an element from and to a value.
     """
     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
@@ -890,7 +890,7 @@ class animateColor(SVGelement):
     Animates the color of a element
     """
     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:
@@ -905,7 +905,7 @@ class set(SVGelement):
     sets an attribute to a value for a
     """
     def __init__(self,attribute,to=None,dur=None,**args):
-        SVGelement.__init__(self,'set',{'attributeName':attribute},**args)
+        SVGelement.__init__(self, 'set', {'attributeName':attribute}, **args)
         if to!=None:
             self.attributes['to']=to
         if dur!=None:
@@ -929,7 +929,7 @@ class svg(SVGelement):
     d.toXml()
     """
     def __init__(self,viewBox=None, width=None, height=None,**args):
-        SVGelement.__init__(self,'svg',**args)
+        SVGelement.__init__(self, 'svg', **args)
         if viewBox!=None:
             self.attributes['viewBox']=_viewboxlist(viewBox)
         if width!=None:
@@ -952,7 +952,7 @@ class drawing:
     def __init__(self, entity={}):
         self.svg=None
         self.entity = entity
-    def setSVG(self,svg):
+    def setSVG(self, svg):
         self.svg=svg
         # Voeg een element toe aan de grafiek toe.
     if use_dom_implementation==0:
@@ -967,12 +967,12 @@ class drawing:
                     xml.write("<!ENTITY %s \"%s\">\n" % (item, self.entity[item]))
                 xml.write("]")
             xml.write(">\n")
-            self.svg.toXml(0,xml)
+            self.svg.toXml(0, xml)
             if not filename:
                 if compress:
                     import gzip
                     f=cStringIO.StringIO()
-                    zf=gzip.GzipFile(fileobj=f,mode='wb')
+                    zf=gzip.GzipFile(fileobj=f, mode='wb')
                     zf.write(xml.getvalue())
                     zf.close()
                     f.seek(0)
@@ -982,11 +982,11 @@ 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:
-                    f=file(filename,'w')
+                    f=file(filename, 'w')
                     f.write(xml.getvalue())
                     f.close()
 
@@ -997,40 +997,40 @@ 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
             # that is a bit messy.
-            root=implementation.createDocument(None,None,doctype)
+            root=implementation.createDocument(None, None, doctype)
             # Create the xml document.
             global appender
-            def appender(element,elementroot):
+            def appender(element, elementroot):
                 """This recursive function appends elements to an element and sets the attributes
                 and type. It stops when alle elements have been appended"""
                 if element.namespace:
-                    e=root.createElementNS(element.namespace,element.type)
+                    e=root.createElementNS(element.namespace, element.type)
                 else:
                     e=root.createElement(element.type)
                 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]))
+                    e.setAttribute(attribute, str(element.attributes[attribute]))
                 if element.elements:
                     for el in element.elements:
-                        e=appender(el,e)
+                        e=appender(el, e)
                 elementroot.appendChild(e)
                 return elementroot
-            root=appender(self.svg,root)
+            root=appender(self.svg, root)
             if not filename:
                 import cStringIO
                 xml=cStringIO.StringIO()
-                PrettyPrint(root,xml)
+                PrettyPrint(root, xml)
                 if compress:
                     import gzip
                     f=cStringIO.StringIO()
-                    zf=gzip.GzipFile(fileobj=f,mode='wb')
+                    zf=gzip.GzipFile(fileobj=f, mode='wb')
                     zf.write(xml.getvalue())
                     zf.close()
                     f.seek(0)
@@ -1043,13 +1043,13 @@ class drawing:
                         import gzip
                         import cStringIO
                         xml=cStringIO.StringIO()
-                        PrettyPrint(root,xml)
-                        f=gzip.GzipFile(filename=filename,mode='wb',compresslevel=9)
+                        PrettyPrint(root, xml)
+                        f=gzip.GzipFile(filename=filename, mode='wb', compresslevel=9)
                         f.write(xml.getvalue())
                         f.close()
                     else:
-                        f=open(filename,'w')
-                        PrettyPrint(root,f)
+                        f=open(filename, 'w')
+                        PrettyPrint(root, f)
                         f.close()
                 except:
                     print(("Cannot write SVG file: " + filename))
@@ -1070,32 +1070,32 @@ if __name__=='__main__':
 
 
     d=drawing()
-    s=svg((0,0,100,100))
-    r=rect(-100,-100,300,300,'cyan')
+    s=svg((0, 0, 100, 100))
+    r=rect(-100, -100, 300, 300, 'cyan')
     s.addElement(r)
 
     t=title('SVGdraw Demo')
     s.addElement(t)
     g=group('animations')
-    e=ellipse(0,0,5,2)
+    e=ellipse(0, 0, 5, 2)
     g.addElement(e)
-    c=circle(0,0,1,'red')
+    c=circle(0, 0, 1, 'red')
     g.addElement(c)
-    pd=pathdata(0,-10)
+    pd=pathdata(0, -10)
     for i in range(6):
-        pd.relsmbezier(10,5,0,10)
-        pd.relsmbezier(-10,5,0,10)
-    an=animateMotion(pd,10)
+        pd.relsmbezier(10, 5, 0, 10)
+        pd.relsmbezier(-10, 5, 0, 10)
+    an=animateMotion(pd, 10)
     an.attributes['rotate']='auto-reverse'
     an.attributes['repeatCount']="indefinite"
     g.addElement(an)
     s.addElement(g)
-    for i in range(20,120,20):
-        u=use('#animations',i,0)
+    for i in range(20, 120, 20):
+        u=use('#animations', i, 0)
         s.addElement(u)
-    for i in range(0,120,20):
-        for j in range(5,105,10):
-            c=circle(i,j,1,'red','black',.5)
+    for i in range(0, 120, 20):
+        for j in range(5, 105, 10):
+            c=circle(i, j, 1, 'red', 'black', .5)
             s.addElement(c)
     d.setSVG(s)