Mercurial > rinkhals
comparison gamelib/data.py @ 303:e12d99215b74
Fix up data module unix-to-local path fixing. Fix similar problems in tile importing.
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Sat, 05 Sep 2009 17:35:17 +0000 |
parents | c0455e6c99f4 |
children |
comparison
equal
deleted
inserted
replaced
302:01c1682dc250 | 303:e12d99215b74 |
---|---|
8 import os | 8 import os |
9 | 9 |
10 data_py = os.path.abspath(os.path.dirname(__file__)) | 10 data_py = os.path.abspath(os.path.dirname(__file__)) |
11 data_dir = os.path.normpath(os.path.join(data_py, '..', 'data')) | 11 data_dir = os.path.normpath(os.path.join(data_py, '..', 'data')) |
12 | 12 |
13 def unix_to_local(filename): | |
14 '''Convert a relative unix / http filename to a local one.''' | |
15 return os.path.join(*filename.split("/")) | |
16 | |
13 def filepath(*filenames): | 17 def filepath(*filenames): |
14 '''Determine the path to a file in the data directory. | 18 '''Determine the path to a file in the data directory. |
15 ''' | 19 ''' |
16 return os.path.join(data_dir, *filenames) | 20 os_filenames = [unix_to_local(f) for f in filenames] |
21 return os.path.join(data_dir, *os_filenames) | |
17 | 22 |
18 def load(filename, mode='rb'): | 23 def load(filename, mode='rb'): |
19 '''Open a file in the data directory. | 24 '''Open a file in the data directory. |
20 | 25 |
21 "mode" is passed as the second arg to open(). | 26 "mode" is passed as the second arg to open(). |
22 ''' | 27 ''' |
23 # convert unix path separator to platform appropriate one | 28 # convert unix path separator to platform appropriate one |
24 filename = os.path.join(*filename.split("/")) | 29 filename = unix_to_local(filename) |
25 return open(os.path.join(data_dir, filename), mode) | 30 return open(os.path.join(data_dir, filename), mode) |
26 | 31 |