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 4184fbc0ae4d82b485ae6028671d8471306cf4e5 Author: Alexandre Detiste <[email protected]> Date: Tue Sep 15 11:50:10 2015 +0200 GOG: cache list of owned games as it is called twice by fill_gaps --- game_data_packager/gog.py | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/game_data_packager/gog.py b/game_data_packager/gog.py index 6f3ebe0..e481745 100644 --- a/game_data_packager/gog.py +++ b/game_data_packager/gog.py @@ -21,19 +21,29 @@ import subprocess from .util import which -def owned_gog_games(): - cache = os.path.expanduser('~/.cache/lgogdownloader/gamedetails.json') - if os.path.isfile(cache): - data = json.load(open(cache, encoding='utf-8')) - for key in data['games']: - yield key['gamename'] - elif which('lgogdownloader'): - try: - list = subprocess.check_output(['lgogdownloader', '--list'], +class Gog: + available = None + + def owned_games(self): + if self.available is not None: + return self.available + + cache = os.path.expanduser('~/.cache/lgogdownloader/gamedetails.json') + if os.path.isfile(cache): + self.available = [] + data = json.load(open(cache, encoding='utf-8')) + for key in data['games']: + self.available.append(key['gamename']) + elif which('lgogdownloader'): + try: + list = subprocess.check_output(['lgogdownloader', '--list'], stdin=subprocess.DEVNULL, stderr=subprocess.DEVNULL, universal_newlines=True) - except subprocess.CalledProcessError: - return - for line in list.splitlines(): - yield line + self.available = list.splitlines() + except subprocess.CalledProcessError: + self.available = [] + + return self.available + +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 [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

