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 f12e2d8028d2d171a597f606f6dee2cfdda1a8c8 Author: Alexandre Detiste <alexandre.deti...@gmail.com> Date: Thu Sep 17 10:08:54 2015 +0200 GOG: don't require innoextract for games with Linux package --- game_data_packager/__init__.py | 15 +++++++++------ game_data_packager/gog.py | 14 ++++++++++++++ 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/game_data_packager/__init__.py b/game_data_packager/__init__.py index 2e099ad..4127cfa 100644 --- a/game_data_packager/__init__.py +++ b/game_data_packager/__init__.py @@ -2707,13 +2707,16 @@ class GameData(object): possible.add(package) # download game if it is already owned by user's GOG.com account # user must have used 'lgogdownloader' at least once to make this work - elif gog_id and which('innoextract') and gog_id in GOG.owned_games(): - if lang_score(package.lang) == 0: - logger.debug('%s can be downloaded with lgogdownloader', package.name) + elif gog_id and gog_id in GOG.owned_games(): + if which('innoextract') or GOG.is_native(gog_id): + if lang_score(package.lang) == 0: + logger.debug('%s can be downloaded with lgogdownloader', package.name) + else: + logger.info('%s can be downloaded with lgogdownloader', package.name) + possible.add(package) + possible_with_lgogdownloader.add(package.name) else: - logger.info('%s can be downloaded with lgogdownloader', package.name) - possible.add(package) - possible_with_lgogdownloader.add(package.name) + self.missing_tools.add('innoextract') else: logger.debug('%s is impossible', package.name) diff --git a/game_data_packager/gog.py b/game_data_packager/gog.py index 5cdaccc..c2e0b11 100644 --- a/game_data_packager/gog.py +++ b/game_data_packager/gog.py @@ -48,4 +48,18 @@ class Gog: return self.available + def is_native(self, wanted): + cache = os.path.expanduser('~/.cache/lgogdownloader/gamedetails.json') + if not os.path.isfile(cache): + return + + data = json.load(open(cache, encoding='utf-8')) + for game in data['games']: + if game['gamename'] != wanted: + continue + for installer in game['installers']: + if installer['platform'] == 4: + return True + return False + GOG = Gog() -- 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 Pkg-games-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits