Mercurial > mamba
view mamba/gamestate.py @ 572:84616c7db2e7
ensure save dir exists before trying to save
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Tue, 20 Nov 2012 23:37:46 +0200 |
parents | 001c3797a63b |
children |
line wrap: on
line source
import os try: import json except ImportError: import simplejson as json # pyflakes:ignore from mamba.options import options levels = [] done_levels = set() def save_path(path): return os.path.join(options.save_location, *path.split('/')) def ensure_save_path_exists(path): location = save_path(path) if not os.path.isdir(location): os.makedirs(location) def level_done(level_name): done_levels.add(level_name) save_state() def load_state(): done_levels.clear() fn = save_path('gamestate.json') if os.access(fn, os.R_OK): f = open(fn, 'r') state = json.load(f) f.close() done_levels.update(state['done_levels']) def save_state(): fn = save_path('gamestate.json') if not os.path.isdir(options.save_location): os.makedirs(options.save_location) f = open(fn, 'w') json.dump({ 'done_levels': list(done_levels), }, f) f.close()