Mercurial > rinkhals
view gamelib/data.py @ 64:99fbb652ce8d
Refactor buildings so that new ones can be added just by adding a class to buildings.py.
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Mon, 31 Aug 2009 20:25:11 +0000 |
parents | 498e4732bc1f |
children | c0455e6c99f4 |
line wrap: on
line source
'''Simple data loader module. Loads data files from the "data" directory shipped with a game. Enhancing this to handle caching etc. is left as an exercise for the reader. ''' import os data_py = os.path.abspath(os.path.dirname(__file__)) data_dir = os.path.normpath(os.path.join(data_py, '..', 'data')) def filepath(filename): '''Determine the path to a file in the data directory. ''' return os.path.join(data_dir, filename) def load(filename, mode='rb'): '''Open a file in the data directory. "mode" is passed as the second arg to open(). ''' # convert unix path separator to platform appropriate one filename = os.path.join(*filename.split("/")) return open(os.path.join(data_dir, filename), mode)