X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=run-turtle.py;h=bb117fd8fef58b3899cbf291b2702f4131d57200;hb=1e320ca83bc7836cc1462bc67e4048c5c074a469;hp=fb74b02c7eca135dc69128ed23c859fc67154804;hpb=f49cdc229d3db14bb00667c9e6d105c1d67274a8;p=zombocom-ai diff --git a/run-turtle.py b/run-turtle.py old mode 100755 new mode 100644 index fb74b02..bb117fd --- a/run-turtle.py +++ b/run-turtle.py @@ -1,32 +1,35 @@ #!/usr/bin/env python3 -from svg_turtle import SvgTurtle +import cairo import tempfile import os +import sys OUTPUT_DIR_PREFIX='/srv/cworth.org/zombocom' OUTPUT_DIR="{}/busart".format(OUTPUT_DIR_PREFIX) -t = SvgTurtle(512,512); +input = sys.stdin.read() -t.pencolor('red'); - -t.penup(); -t.right(180); -t.forward(200); -t.right(180); -t.pendown(); - -for i in range(50): - t.forward(100); - t.left(123); +# Do at least a modicum of a safety check +if "import" in input: + sys.stderr.write("Error: Cowardly refusing to interpret script with 'import'") + sys.exit(1) (fd, filename) = tempfile.mkstemp(suffix=".svg", prefix="busart", dir=OUTPUT_DIR); os.close(fd) - -t.save_as(filename); os.chmod(filename, 0o644); +# Also delete our import for some more safety +del tempfile +del os +del sys + +with cairo.SVGSurface(filename, 512, 512) as surface: + cr = cairo.Context(surface); + del cairo + cr.set_line_width(6); + exec(input); + web_file = filename.removeprefix(OUTPUT_DIR_PREFIX); print(web_file);