def transform(expr, fout, options): pic = suml2pic(expr, options) if options.png or options.svg: import subprocess import StringIO if options.scruffy: import scruffy svg = subprocess.Popen( ['pic2plot', '-Tsvg'], stdin=subprocess.PIPE, stdout=subprocess.PIPE).communicate(input=pic)[0] if options.png: tocrop = StringIO.StringIO() scruffy.transform(StringIO.StringIO(svg), tocrop, options) common.crop(StringIO.StringIO(tocrop.getvalue()), fout) else: scruffy.transform(StringIO.StringIO(svg), fout, options) elif options.png: png = subprocess.Popen( ['pic2plot', '-Tpng'], stdin=subprocess.PIPE, stdout=subprocess.PIPE).communicate(input=pic)[0] common.crop(StringIO.StringIO(png), fout) elif options.svg: subprocess.Popen(['pic2plot', '-Tsvg'], stdin=subprocess.PIPE, stdout=fout).communicate(input=pic) else: fout.write(pic)
def transform(expr, fout, options): dot = yuml2dot(expr, options) if options.png or options.svg: import subprocess if options.scruffy: import StringIO import scruffy svg = subprocess.Popen( ['dot', '-Tsvg'], stdin=subprocess.PIPE, stdout=subprocess.PIPE).communicate(input=dot)[0] scruffy.transform(StringIO.StringIO(svg), fout, options) elif options.png: subprocess.Popen(['dot', '-Tpng'], stdin=subprocess.PIPE, stdout=fout).communicate(input=dot) elif options.svg: subprocess.Popen(['dot', '-Tsvg'], stdin=subprocess.PIPE, stdout=fout).communicate(input=dot) else: fout.write(dot)
def transform(expr, fout, options): pic = suml2pic(expr, options) if options.png or options.svg: import subprocess import StringIO svg = subprocess.Popen(['pic2plot', '-Tsvg'], stdin=subprocess.PIPE, stdout=subprocess.PIPE).communicate(input=pic)[0] etree.register_namespace('', 'http://www.w3.org/2000/svg') root = etree.parse(StringIO.StringIO(svg)).getroot() common.clear(root) if options.scruffy: import scruffy scruffy.transform(root, options) svg = '<?xml version="1.0" encoding="UTF-8" standalone="no" ?>\n' + etree.tostring(root) + '\n' if options.png: png = subprocess.Popen(['convert', '-', '-'], stdin=subprocess.PIPE, stdout=subprocess.PIPE).communicate(input=svg)[0] fout.write(png) elif options.svg: fout.write(svg) else: fout.write(pic)
def parse(): form = IndexForm(request.form) options = dict(font=None, shadow=None, png=None) if form.validate(): fout = StringIO.StringIO() fin = form.data['source'] svg = subprocess.Popen(['/usr/bin/dot', '-Tsvg'], stdin=subprocess.PIPE, stdout=subprocess.PIPE).communicate(input=fin)[0] scruffy.transform(svg, fout, options) if form.data['type'] == 'png': return cairosvg.svg2png(fout) return render_template('index.html', form=form, svg=fout.getvalue()) return render_template('index.html', form=form)
def transform(expr, fout, options): dot = yuml2dot(expr, options) if options.png or options.svg: import subprocess if options.scruffy: import StringIO import scruffy svg = subprocess.Popen(['dot', '-Tsvg'], stdin=subprocess.PIPE, stdout=subprocess.PIPE).communicate(input=dot)[0] scruffy.transform(StringIO.StringIO(svg), fout, options) elif options.png: subprocess.Popen(['dot', '-Tpng'], stdin=subprocess.PIPE, stdout=fout).communicate(input=dot) elif options.svg: subprocess.Popen(['dot', '-Tsvg'], stdin=subprocess.PIPE, stdout=fout).communicate(input=dot) else: fout.write(dot)
def transform(expr, fout, options): pic = suml2pic(expr, options) if options.png or options.svg: import subprocess import StringIO if options.scruffy: import scruffy svg = subprocess.Popen(['pic2plot', '-Tsvg'], stdin=subprocess.PIPE, stdout=subprocess.PIPE).communicate(input=pic)[0] if options.png: tocrop = StringIO.StringIO() scruffy.transform(StringIO.StringIO(svg), tocrop, options) common.crop(StringIO.StringIO(tocrop.getvalue()), fout) else: scruffy.transform(StringIO.StringIO(svg), fout, options) elif options.png: png = subprocess.Popen(['pic2plot', '-Tpng'], stdin=subprocess.PIPE, stdout=subprocess.PIPE).communicate(input=pic)[0] common.crop(StringIO.StringIO(png), fout) elif options.svg: subprocess.Popen(['pic2plot', '-Tsvg'], stdin=subprocess.PIPE, stdout=fout).communicate(input=pic) else: fout.write(pic)