Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2013-11-01 22:08:51 (GMT)
committer Walter Bender <walter@sugarlabs.org>2013-11-01 22:08:51 (GMT)
commit1de9124a7af7802db43e86891d99b5eaed564c19 (patch)
tree6c0005e60307417f5a68f33f225831b13e91c55d
parent802d0c36cccff5266e8ade2b82fcb0cacdf92559 (diff)
only import plugins we use
-rw-r--r--TurtleArt/taexportpython.py9
-rw-r--r--TurtleArt/taprimitive.py4
-rw-r--r--TurtleArt/tawindow.py1
3 files changed, 7 insertions, 7 deletions
diff --git a/TurtleArt/taexportpython.py b/TurtleArt/taexportpython.py
index 49bde06..458b886 100644
--- a/TurtleArt/taexportpython.py
+++ b/TurtleArt/taexportpython.py
@@ -33,7 +33,7 @@ from talogo import LogoCode
from taprimitive import (ast_yield_true, Primitive, PyExportError,
value_to_ast)
from tautils import (debug_output, find_group, find_top_block, get_stack_name)
-from tawindow import global_objects
+from tawindow import (global_objects, plugins_in_use)
_SETUP_CODE_START = """\
@@ -128,11 +128,8 @@ def _action_stack_to_python(block, tw, name="start"):
name_id = _make_identifier(name)
if name == 'start':
pre_preamble = _START_STACK_START_ADD
- # TODO: only add the objects we are using
- for k in global_objects.keys():
- if k not in ['window', 'canvas', 'logo', 'turtles']:
- pre_preamble += " %s = global_objects['%s']\n" % (
- k.lower(), k)
+ for k in plugins_in_use:
+ pre_preamble += " %s = global_objects['%s']\n" % (k.lower(), k)
else:
pre_preamble = ''
generated_code = _indent(generated_code, 1)
diff --git a/TurtleArt/taprimitive.py b/TurtleArt/taprimitive.py
index 3f922b4..7ffc2ef 100644
--- a/TurtleArt/taprimitive.py
+++ b/TurtleArt/taprimitive.py
@@ -33,7 +33,7 @@ from talogo import (LogoCode, logoerror, NegativeRootError)
from taturtle import (Turtle, Turtles)
from tatype import *
from tautils import debug_output
-from tawindow import TurtleArtWindow, global_objects
+from tawindow import (TurtleArtWindow, global_objects, plugins_in_use)
from util import ast_extensions
@@ -143,6 +143,8 @@ class Primitive(object):
if results:
for k in global_objects.keys():
if k == plugin:
+ if k not in plugins_in_use:
+ plugins_in_use.append(k)
func_name = k.lower() + '.'
break
diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py
index 7f9bde0..6d9ca0a 100644
--- a/TurtleArt/tawindow.py
+++ b/TurtleArt/tawindow.py
@@ -99,6 +99,7 @@ _MACROS_SUBPATH = 'macros'
# the global instances of single-instance classes
global_objects = {}
+plugins_in_use = []
class TurtleArtWindow():