[game-data-packager] 01/01: rework logic to avoid extraneous donwloads
Alexandre Detiste
detiste-guest at moszumanska.debian.org
Mon Aug 24 12:41:37 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 1464c2eedecaf48bd02db1b0f14fdc79549fc42d
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date: Mon Aug 24 14:37:31 2015 +0200
rework logic to avoid extraneous donwloads
e.g.: when building dreamweb-fr-data,
dreamweb-cd-uk-1.1.zip is downloaded as it can provide some files,
but then dreamweb-cd-fr-1.1.zip is downloaded too to provide
missing dubbed files
same happens for Soltys: when building english package
is sometimes provided by spanish archive
---
data/dreamweb.yaml | 2 +-
game_data_packager/__init__.py | 10 ++++++++++
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/data/dreamweb.yaml b/data/dreamweb.yaml
index 606271a..1c196db 100644
--- a/data/dreamweb.yaml
+++ b/data/dreamweb.yaml
@@ -3551,7 +3551,7 @@ packages:
files:
dreamweb-cd-us-1.1.zip:
- #download: http://prdownloads.sourceforge.net/scummvm/dreamweb-cd-us-1.1.zip?download
+ download: http://prdownloads.sourceforge.net/scummvm/dreamweb-cd-us-1.1.zip?download
unpack:
format: zip
provides:
diff --git a/game_data_packager/__init__.py b/game_data_packager/__init__.py
index 2f772e8..db7e69c 100644
--- a/game_data_packager/__init__.py
+++ b/game_data_packager/__init__.py
@@ -1260,7 +1260,17 @@ class GameData(object):
result = FillResult.COMPLETE
+ # search first for files that have only one provider,
+ # to avoid extraneous downloads
+ unique_provider = list()
+ multi_provider = list()
for filename in (package.install | package.optional):
+ if len(self.providers.get(filename)) == 1:
+ unique_provider.append(filename)
+ else:
+ multi_provider.append(filename)
+
+ for filename in unique_provider + multi_provider:
if filename not in self.found:
wanted = self.files[filename]
# updates file_status as a side-effect
--
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