This is an automated email from the git hooks/post-receive script. detiste-guest pushed a commit to branch master in repository game-data-packager.
commit 16d86c95ee642679f99c423a06987e1b1eb655db Author: Alexandre Detiste <[email protected]> Date: Sun May 31 14:38:10 2015 +0200 provide only_file: shortcut & integrity check at "make check" phase --- game_data_packager/__init__.py | 9 ++++++++- game_data_packager/games/doom_common.py | 15 +++++++-------- game_data_packager/games/z_code.py | 4 +++- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/game_data_packager/__init__.py b/game_data_packager/__init__.py index 7402900..28bdf42 100644 --- a/game_data_packager/__init__.py +++ b/game_data_packager/__init__.py @@ -421,6 +421,13 @@ class GameDataPackage(object): self._install = set(value) @property + def only_file(self): + if len(self._install) == 1: + return list(self._install)[0] + else: + return None + + @property def install_contents_of(self): return self._install_contents_of @install_contents_of.setter @@ -1853,7 +1860,7 @@ class GameData(object): if count_usr == 0 and count_doc == 1: o.write('"/usr/share/doc/%s/%s"\n' % (package.name, - list(package.install)[0])) + package.only_file)) elif count_usr == 1: o.write('"/%s/%s"\n' % (package.install_to, main_wad)) elif len(exts) == 1: diff --git a/game_data_packager/games/doom_common.py b/game_data_packager/games/doom_common.py index c3fc744..1a140e2 100644 --- a/game_data_packager/games/doom_common.py +++ b/game_data_packager/games/doom_common.py @@ -75,8 +75,11 @@ class DoomGameData(GameData): engine = package.engine or self.engine engine = engine.split('|')[-1].strip() package.program = package_map.get(engine, engine) - package.main_wads = self.data['packages'][package.name].get( - 'main_wads', {list(package.install)[0]: {}}) + if 'main_wads' in self.data['packages'][package.name]: + package.main_wads = self.data['packages'][package.name]['main_wads'] + else: + assert package.only_file + package.main_wads = {package.only_file: {}} assert type(package.main_wads) == dict for main_wad in package.main_wads.values(): assert type(main_wad) == dict @@ -132,12 +135,8 @@ class DoomGameData(GameData): if 'args' in quirks: args = '-file ' + main_wad + ' ' + quirks['args'] elif package.expansion_for: - for f in self.packages[package.expansion_for].install: - if f.endswith('.wad'): - iwad = f - break - else: - raise AssertionError("Couldn't find %s's IWAD" % main_wad) + iwad = self.packages[package.expansion_for].only_file + assert iwad is not None, "Couldn't find %s's IWAD" % main_wad args = ( '-iwad /usr/share/games/doom/' + iwad + ' -file /usr/share/games/doom/' + main_wad) else: diff --git a/game_data_packager/games/z_code.py b/game_data_packager/games/z_code.py index d7aac1f..aa983b0 100644 --- a/game_data_packager/games/z_code.py +++ b/game_data_packager/games/z_code.py @@ -30,6 +30,8 @@ class ZCodeGameData(GameData): def __init__(self, shortname, data, workdir=None): super(ZCodeGameData, self).__init__(shortname, data, workdir=workdir) + for package in self.packages.values(): + assert package.only_file if self.engine is None: self.engine = 'gargoyle-free | frotz' @@ -57,7 +59,7 @@ class ZCodeGameData(GameData): engine = 'gargoyle-free' entry['Terminal'] = 'false' entry['TryExec'] = engine - arg = '/' + package.install_to + '/' + list(package.install)[0] + arg = '/' + package.install_to + '/' + package.only_file entry['Exec'] = engine + ' ' + arg pixdir = os.path.join(destdir, 'usr/share/pixmaps') -- 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

