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-05-26 12:15:08 (GMT)
committer Walter Bender <walter@sugarlabs.org>2013-05-26 12:15:08 (GMT)
commit068f218cd7d6115b35a9e3735549639a026b77b2 (patch)
tree1430ddc6fa6c707a6702b4b4651d22ef47b66767
parent3feac049ac176b0e3b8f86ae488c5cc329be059e (diff)
more robust levels detection
-rw-r--r--TurtleArtActivity.py14
-rwxr-xr-xturtleblocks.py9
2 files changed, 11 insertions, 12 deletions
diff --git a/TurtleArtActivity.py b/TurtleArtActivity.py
index ca85141..5b18ccb 100644
--- a/TurtleArtActivity.py
+++ b/TurtleArtActivity.py
@@ -51,6 +51,7 @@ from sugar.datastore import datastore
from sugar import profile
import os
+import glob
import tarfile
import subprocess
import ConfigParser
@@ -1607,18 +1608,13 @@ in order to use the plugin.'))
def _get_levels(self, path):
''' Look for level files in lessons directory. '''
+ levels = glob.glob(os.path.join(activity.get_bundle_path(),
+ 'challenges', '*.svg'))
+
level_files = []
- """
- if path is not None:
- candidates = os.listdir(os.path.join(path, 'challenges'))
- for filename in candidates:
- level_files.append(filename.split('.')[0])
- """
- for i in range(40):
+ for i in range(len(levels)):
level_files.append('amazonas-%d' % (i+1))
- '''
- '''
self.offsets = {}
offset_fd = open(os.path.join(activity.get_bundle_path(), 'challenges',
'offsets'))
diff --git a/turtleblocks.py b/turtleblocks.py
index deab429..ce1e5f5 100755
--- a/turtleblocks.py
+++ b/turtleblocks.py
@@ -31,6 +31,7 @@ import getopt
import sys
import os
import os.path
+import glob
import cStringIO
import errno
import ConfigParser
@@ -427,7 +428,7 @@ return %s(self)" % (p, P, P)
self._level = 0
self._levels = self._get_levels()
self._custom_filepath = None
- for i in range(40):
+ for i in range(len(self._levels)):
MenuBuilder.make_menu_item(menu, _('Challenge') + ' ' + str(i + 1),
self._do_level_cb, i)
turtle_menu = MenuBuilder.make_sub_menu(menu, _('Challenges'))
@@ -701,9 +702,11 @@ Would you like to save before quitting?'))
def _get_levels(self):
''' Look for level files in lessons directory. '''
- level_files = []
+ levels = glob.glob(os.path.join(activity.get_bundle_path(),
+ 'challenges', '*.svg'))
- for i in range(40):
+ level_files = []
+ for i in range(len(levels)):
level_files.append('amazonas-%d' % (i+1))
self.offsets = {}