Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TurtleArt/tabasics.py
diff options
context:
space:
mode:
Diffstat (limited to 'TurtleArt/tabasics.py')
-rw-r--r--TurtleArt/tabasics.py29
1 files changed, 11 insertions, 18 deletions
diff --git a/TurtleArt/tabasics.py b/TurtleArt/tabasics.py
index 2d16c2d..379718d 100644
--- a/TurtleArt/tabasics.py
+++ b/TurtleArt/tabasics.py
@@ -71,18 +71,11 @@ from gettext import gettext as _
from tapalette import (make_palette, define_logo_function)
from talogo import (primitive_dictionary, logoerror)
from tautils import (convert, chr_to_ord, round_int, strtype)
-from taconstants import (COLORDICT, CONSTANTS)
+from taconstants import (Color, CONSTANTS)
from taprimitive import Primitive
from taturtle import Turtle
-def _color_to_num(c):
- if COLORDICT[c][0] is None:
- return(COLORDICT[c][1])
- else:
- return(COLORDICT[c][0])
-
-
def _num_type(x):
''' Is x a number type? '''
if isinstance(x, (int, float)):
@@ -1351,10 +1344,10 @@ variable'))
def _prim_plus(self, x, y):
''' Add numbers, concat strings '''
- if x in COLORDICT:
- x = _color_to_num(x)
- if y in COLORDICT:
- y = _color_to_num(y)
+ if isinstance(x, Color):
+ x = int(x)
+ if isinstance(y, Color):
+ y = int(y)
if _num_type(x) and _num_type(y):
return(x + y)
elif isinstance(x, list) and isinstance(y, list):
@@ -1463,8 +1456,8 @@ variable'))
pass
if isinstance(x, list):
raise logoerror("#syntaxerror")
- if x in COLORDICT:
- return _color_to_num(x)
+ if isinstance(x, Color):
+ return int(x)
xx = convert(x.replace(self.tw.decimal_point, '.'), float)
if isinstance(xx, float):
return xx
@@ -1477,12 +1470,12 @@ variable'))
def _make_constant(self, palette, block_name, label, constant):
''' Factory for constant blocks '''
- if constant in COLORDICT:
- if COLORDICT[constant][0] is not None:
- value = str(COLORDICT[constant][0])
+ if isinstance(constant, Color):
+ if constant.color is not None:
+ value = str(constant.color)
else:
# Black or White
- value = '0 tasetshade %d' % (COLORDICT[constant][1])
+ value = '0 tasetshade %d' % (constant.shade)
else:
value = constant
palette.add_block(block_name,