This is an automated email from the git hooks/post-receive script. smcv pushed a commit to branch master in repository game-data-packager.
commit 66c3f9c0dade43186cfbc09db0fa1132051ddb6b Author: Simon McVittie <[email protected]> Date: Thu Dec 28 16:07:07 2017 +0000 load_game: Return the game instead of putting it in a dict Signed-off-by: Simon McVittie <[email protected]> --- game_data_packager/game.py | 29 ++++++++++++++++++++--------- tools/check_equivalence.py | 6 ++---- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/game_data_packager/game.py b/game_data_packager/game.py index e5216c2..342bed6 100644 --- a/game_data_packager/game.py +++ b/game_data_packager/game.py @@ -1091,7 +1091,11 @@ def load_games(game='*', datadir=DATADIR, use_vfs=True): if os.path.basename(yamlfile).startswith('launch-'): continue - load_game(progress, games, yamlfile, None, yaml_file=yamlfile) + name = os.path.basename(yamlfile) + assert name.endswith('.yaml'), yamlfile + name = name[:-5] + + games[name] = load_game(progress, yamlfile, None, yaml_file=yamlfile) if use_vfs: if isinstance(use_vfs, str): @@ -1103,20 +1107,23 @@ def load_games(game='*', datadir=DATADIR, use_vfs=True): if game == '*': for entry in zf.infolist(): if entry.filename.endswith('.json'): - if entry.filename[:-5] in games: + name = entry.filename[:-5] + + if name in games: # shadowed by a YAML file continue jsonfile = '%s/%s' % (zip, entry.filename) jsondata = zf.open(entry).read().decode('utf-8') - load_game(progress, games, jsonfile, jsondata) + games[name] = load_game(progress, jsonfile, jsondata) elif game in games: # shadowed by a YAML file pass else: jsonfile = game + '.json' jsondata = zf.open(jsonfile).read().decode('utf-8') - load_game(progress, games, '%s/%s' % (zip, jsonfile), jsondata) + games[game] = load_game( + progress, '%s/%s' % (zip, jsonfile), jsondata) else: vfs = os.path.join(DATADIR, 'vfs') @@ -1124,19 +1131,21 @@ def load_games(game='*', datadir=DATADIR, use_vfs=True): vfs = DATADIR for jsonfile in glob.glob(os.path.join(vfs, game + '.json')): - if os.path.basename(jsonfile[:-5]) in games: + name = os.path.basename(jsonfile[:-5]) + + if name in games: # shadowed by a YAML file continue jsondata = open(jsonfile, encoding='utf-8').read() - load_game(progress, games, jsonfile, jsondata) + games[name] = load_game(progress, jsonfile, jsondata) if progress: print('\r%s\r' % (' ' * (len(games) // 4 + 1)), end='', flush=True, file=sys.stderr) return games -def load_game(progress, games, filename, content, name=None, yaml_file=None): +def load_game(progress, filename, content, name=None, yaml_file=None): if progress: animation = ['.','-','*','#'] modulo = int(load_game.counter) % len(animation) @@ -1170,10 +1179,12 @@ def load_game(progress, games, filename, content, name=None, yaml_file=None): assert 'game_data_packager.games' in e.msg, e game_data_constructor = GameData - games[name] = game_data_constructor(name, data) + game = game_data_constructor(name, data) if yaml_file is not None: - games[name].yaml_file = yaml_file + game.yaml_file = yaml_file + + return game except: print('Error loading %s:\n' % filename) raise diff --git a/tools/check_equivalence.py b/tools/check_equivalence.py index 85c128b..8664c05 100755 --- a/tools/check_equivalence.py +++ b/tools/check_equivalence.py @@ -151,12 +151,10 @@ if __name__ == '__main__': with open('out/%s-unexpanded.txt' % name, 'w') as writer: writer.write(json_to_json_unexpanded) - json_to_json_games = {} # JSON is a subset of YAML so we can treat this as if YAML - load_game( - False, json_to_json_games, 'out/%s-unexpanded.txt' % name, + json_to_json_game = load_game( + False, 'out/%s-unexpanded.txt' % name, None, name=name, yaml_file='out/%s-unexpanded.txt' % name) - json_to_json_game = json_to_json_games[name] json_to_json_game.load_file_data() json_to_json_to_data = json_to_json_game.to_data() -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/game-data-packager.git _______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

