[game-data-packager] 02/02: GOG: prefer linux archives over win ones, handle unexpected linux archives
Alexandre Detiste
detiste-guest at moszumanska.debian.org
Thu Sep 17 06:59:45 UTC 2015
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 912f5218b36cbdabce37fa48264ff68026100ad3
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date: Thu Sep 17 08:57:43 2015 +0200
GOG: prefer linux archives over win ones, handle unexpected linux archives
... obey to self.save_downloads
---
game_data_packager/__init__.py | 14 ++++++++++++--
tools/fake_lgog.py | 1 +
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/game_data_packager/__init__.py b/game_data_packager/__init__.py
index 8258fd1..d61bf9a 100644
--- a/game_data_packager/__init__.py
+++ b/game_data_packager/__init__.py
@@ -2768,6 +2768,7 @@ class GameData(object):
raise NoPackagesPossible()
ready = set()
+ lgogdownloaded = set()
for package in possible:
if (package.better_version
@@ -2849,6 +2850,10 @@ class GameData(object):
ready.add(package)
elif download and package.name in possible_with_lgogdownloader:
gog_id = self.gog_download_name(package)
+ if gog_id in lgogdownloaded:
+ # something went bad, G-D-P will complain a lot anyway
+ continue
+ lgogdownloaded.add(gog_id)
tmpdir = os.path.join(self.get_workdir(), gog_id)
mkdir_p(tmpdir)
try:
@@ -2856,10 +2861,15 @@ class GameData(object):
'--download', '--no-extra',
'--directory', tmpdir,
'--subdir-game', '',
- '--platform', '1',
+ '--platform-priority', 'linux,windows',
'--language', package.lang,
'--game', '^' + gog_id + '$'])
- self.consider_file_or_dir(tmpdir)
+ for dirpath, dirnames, filenames in os.walk(tmpdir):
+ for fn in filenames:
+ archive = os.path.join(dirpath, fn)
+ self.consider_file(archive, True)
+ if self.save_downloads:
+ shutil.move(archive, self.save_downloads)
# recheck file status
if self.fill_gaps(package, log=True, download=True,
recheck=True) is not FillResult.IMPOSSIBLE:
diff --git a/tools/fake_lgog.py b/tools/fake_lgog.py
index db65204..981947d 100755
--- a/tools/fake_lgog.py
+++ b/tools/fake_lgog.py
@@ -27,6 +27,7 @@ parser.add_argument('--no-extra', action='store_true')
parser.add_argument('--directory', metavar='DIR')
parser.add_argument('--subdir-game', type=str)
parser.add_argument('--platform', type=str)
+parser.add_argument('--platform-priority', type=str)
parser.add_argument('--language', type=str)
parser.add_argument('--game', type=str)
args = parser.parse_args()
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/game-data-packager.git
More information about the Pkg-games-commits
mailing list