From 068f218cd7d6115b35a9e3735549639a026b77b2 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Sun, 26 May 2013 12:15:08 +0000 Subject: more robust levels detection --- 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 = {} -- cgit v0.9.1