/opt/alt/python37/lib/python3.7/site-packages/svgwrite
NameSizeModeActions
data/-0755rm
extensions/-0755rm
__pycache__/-0755rm
animate.py64580644editdlrm
base.py81980644editdlrm
container.py103940644editdlrm
drawing.py51750644editdlrm
elementfactory.py21990644editdlrm
etree.py12870644editdlrm
filters.py77070644editdlrm
gradients.py46060644editdlrm
image.py24090644editdlrm
masking.py17840644editdlrm
mixins.py104290644editdlrm
params.py18100644editdlrm
path.py28170644editdlrm
pattern.py19500644editdlrm
shapes.py57490644editdlrm
solidcolor.py16710644editdlrm
text.py79240644editdlrm
utils.py77610644editdlrm
validator2.py60130644editdlrm
version.py10880644editdlrm
__init__.py23910644editdlrm
Edit: /opt/alt/python37/lib/python3.7/site-packages/svgwrite/elementfactory.py (2199B)
#coding:utf-8 # Author: mozman -- # Purpose: element factory # Created: 15.10.2010 # Copyright (C) 2010, Manfred Moitzi # License: MIT License from svgwrite import container from svgwrite import shapes from svgwrite import path from svgwrite import image from svgwrite import text from svgwrite import gradients from svgwrite import pattern from svgwrite import masking from svgwrite import animate from svgwrite import filters from svgwrite import solidcolor factoryelements = { 'g': container.Group, 'svg': container.SVG, 'defs': container.Defs, 'symbol': container.Symbol, 'marker': container.Marker, 'use': container.Use, 'a': container.Hyperlink, 'script': container.Script, 'style': container.Style, 'line': shapes.Line, 'rect': shapes.Rect, 'circle': shapes.Circle, 'ellipse': shapes.Ellipse, 'polyline': shapes.Polyline, 'polygon': shapes.Polygon, 'path': path.Path, 'image': image.Image, 'text': text.Text, 'tspan': text.TSpan, 'tref': text.TRef, 'textPath': text.TextPath, 'textArea': text.TextArea, 'linearGradient': gradients.LinearGradient, 'radialGradient': gradients.RadialGradient, 'pattern': pattern.Pattern, 'solidColor': solidcolor.SolidColor, 'clipPath': masking.ClipPath, 'mask': masking.Mask, 'animate': animate.Animate, 'set': animate.Set, 'animateColor': animate.AnimateColor, 'animateMotion': animate.AnimateMotion, 'animateTransform': animate.AnimateTransform, 'filter': filters.Filter, } class ElementBuilder(object): def __init__(self, cls, factory): self.cls = cls self.factory = factory def __call__(self, *args, **kwargs): # inject creator object - inherit _parameter from factory kwargs['factory'] = self.factory # create an object of type 'cls' return self.cls(*args, **kwargs) class ElementFactory(object): def __getattr__(self, name): if name in factoryelements: return ElementBuilder(factoryelements[name], self) else: raise AttributeError("'%s' has no attribute '%s'" % (self.__class__.__name__, name))