comparison mamba/habitats/userlevelmenu.py @ 402:001c3797a63b

Editor now uses templates and the user level directory.
author Jeremy Thurgood <firxen@gmail.com>
date Sat, 17 Sep 2011 12:56:26 +0200
parents 12d67f69e6b2
children 15771cc126fc
comparison
equal deleted inserted replaced
401:20b424c5c1ef 402:001c3797a63b
1 """Level menu.""" 1 """Level menu."""
2 2
3 import os
4 import urllib2 3 import urllib2
5 4
6 from mamba.habitats.levelmenu import LevelMenu 5 from mamba.habitats.levelmenu import LevelMenu
7 from mamba.level import Level 6 from mamba.level import Level
8 from mamba.constants import LEVEL_SERVER 7 from mamba.constants import LEVEL_SERVER
9 from mamba.gamestate import get_user_levels_dir 8 from mamba.data import get_level_list, load_file
10 9
11 10
12 class UserLevelApi(object): 11 class UserLevelApi(object):
13 12
14 def __init__(self, ctype, url=LEVEL_SERVER, timeout=5): 13 def __init__(self, ctype, url=LEVEL_SERVER, timeout=5):
81 class UserLevelMenu(LevelMenu): 80 class UserLevelMenu(LevelMenu):
82 81
83 level_namespace = "user" 82 level_namespace = "user"
84 83
85 def list_levels(self): 84 def list_levels(self):
86 levels_dir = get_user_levels_dir() 85 return get_level_list('user_levels', is_user_dir=True)
87 levels = [os.path.splitext(fn)[0] for fn in os.listdir(levels_dir)
88 if fn.lower().endswith('.txt')]
89 return levels
90 86
91 def get_level(self, name): 87 def get_level(self, name):
92 levels_dir = get_user_levels_dir() 88 source = load_file('user_levels/%s.txt' % (name,), is_user_dir=True)
93 source = open(os.path.join(levels_dir, name + '.txt')).read() 89 return Level(name, self.level_namespace, source.read())
94 return Level(name, self.level_namespace, source)