X-Git-Url: https://git.ctpug.org.za/?p=erdslangetjie.git;a=blobdiff_plain;f=erdslangetjie%2Flevel.py;h=2974b88b349adddc1bda0e41e072b0978f0d177b;hp=e4bc0e09a58072ea9c28dccdd2e4f8a790d9a6fb;hb=50cd60ab9838cbed76f8a5f7c0c4aa660da8bb1c;hpb=14a47bbc124c45098e35dbbc4cb09e55bebb8358 diff --git a/erdslangetjie/level.py b/erdslangetjie/level.py index e4bc0e0..2974b88 100644 --- a/erdslangetjie/level.py +++ b/erdslangetjie/level.py @@ -236,6 +236,7 @@ class LevelList(object): def __init__(self): self.levels = [] + self.errors = [] level_list = load(self.LEVELS) for line in level_list: line = line.strip() @@ -245,12 +246,13 @@ class LevelList(object): level_file.close() try: level.validate() + self.levels.append(level) except RuntimeError as err: - raise RuntimeError( + self.errors.append( 'Invalid level %s in level_list: %s' % (line, err)) - self.levels.append(level) else: - raise RuntimeError('Level list includes non-existant level %s' % line) + self.errors.append( + 'Level list includes non-existant level %s' % line) level_list.close() self._cur_level = 0 @@ -260,6 +262,9 @@ class LevelList(object): else: return None + def get_errors(self): + return self.errors + def advance_to_next_level(self): self._cur_level += 1 return self.get_current_level()