Mercurial > mamba
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) |