From 34d13acd6453f0bfea8ac0c55eec4b737bddea5c Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Fri, 08 Nov 2013 13:36:05 +0000 Subject: refactor handling of extra code in python export --- (limited to 'TurtleArt/taprimitive.py') diff --git a/TurtleArt/taprimitive.py b/TurtleArt/taprimitive.py index 7f9d76c..e59d3fd 100644 --- a/TurtleArt/taprimitive.py +++ b/TurtleArt/taprimitive.py @@ -488,6 +488,12 @@ class Primitive(object): ast_list.append(new_ast) return ast_list + # set turtle + elif self == LogoCode.prim_turtle: + text = 'turtle = turtles.get_active_turtle()' + return [get_call_ast('logo.prim_turtle', new_arg_asts), + ast_extensions.ExtraCode(text)] + # comment elif self == Primitive.comment: if isinstance(new_arg_asts[0], ast.Str): @@ -1149,6 +1155,10 @@ def ast_yield_true(): return ast.Yield(value=ast.Name(id='True', ctx=ast.Load)) +def ast_turtle(): + return ast.Turtle(value=None) + + def export_me(something): """ Return True iff this is not a Primitive or its export_me attribute is True, i.e. everything is exportable except for Primitives with -- cgit v0.9.1