Example #1
0
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)