Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TurtleArt
diff options
context:
space:
mode:
Diffstat (limited to 'TurtleArt')
-rw-r--r--TurtleArt/tawindow.py31
1 files changed, 29 insertions, 2 deletions
diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py
index d3e891c..5b250c3 100644
--- a/TurtleArt/tawindow.py
+++ b/TurtleArt/tawindow.py
@@ -1801,11 +1801,15 @@ class TurtleArtWindow():
blocks = []
for blk in self._process_block_data:
if not self._found_a_turtle(blk):
- blocks.append(self.load_block(blk, offset))
+ newblk = self.load_block(blk, offset)
+ if newblk is not None:
+ blocks.append(newblk)
# Some extra blocks may have been added by load_block
for blk in self._extra_block_data:
self._process_block_data.append(blk)
- blocks.append(self.load_block(blk, offset))
+ newblk = self.load_block(blk, offset)
+ if newblk is not None:
+ blocks.append(newblk)
# Make the connections.
for i in range(len(blocks)):
@@ -3351,6 +3355,29 @@ class TurtleArtWindow():
elif type(btype) == list:
btype, value = btype[0], btype[1]
+ # Replace old-style sandwich blocks
+ if btype == 'sandwichtop_no_label':
+ debug_output('swapping out old sandwich top', True)
+ btype = 'sandwichclamp'
+ docks = []
+ for d in b[4]:
+ docks.append(d)
+ docks.append(None)
+ b[4] = docks
+ elif btype == 'sandwichtop_no_arm_no_label':
+ debug_output('swapping out old sandwich collapsed', True)
+ btype = 'sandwichclampcollapsed'
+ docks = []
+ for d in b[4]:
+ docks.append(d)
+ docks.append(None)
+ b[4] = docks
+ # FIXME: blocks after sandwich bottom must be attached to
+ # sandwich top dock[2], currently set to None
+ elif btype in ['sandwichbottom', 'sandwichcollapsed']:
+ debug_output('swapping out old sandwich bottom', True)
+ btype = 'vspace'
+
# Some blocks can only appear once...
if btype in ['start', 'hat1', 'hat2']:
if self._check_for_duplicate(btype):