[game-data-packager] 42/51: make_template: Allow basing the template on an existing game
Simon McVittie
smcv at debian.org
Fri Dec 29 01:23:37 UTC 2017
This is an automated email from the git hooks/post-receive script.
smcv pushed a commit to branch master
in repository game-data-packager.
commit 1a76db98ff3a558a0f377c8f5c8e2c3da377bb4a
Author: Simon McVittie <smcv at debian.org>
Date: Thu Dec 28 20:30:47 2017 +0000
make_template: Allow basing the template on an existing game
Signed-off-by: Simon McVittie <smcv at debian.org>
---
game_data_packager/make_template.py | 25 +++++++++++++++++++------
1 file changed, 19 insertions(+), 6 deletions(-)
diff --git a/game_data_packager/make_template.py b/game_data_packager/make_template.py
index eded31b..42f790e 100644
--- a/game_data_packager/make_template.py
+++ b/game_data_packager/make_template.py
@@ -36,7 +36,7 @@ except ImportError:
ON_DEBIAN = False
from .data import (FileGroup, HashedFile, PackageRelation, WantedFile)
-from .game import (GameData)
+from .game import (GameData, load_games)
from .gog import GOG
from .steam import parse_acf
from .unpack import (DpkgDebUnpacker, TarUnpacker)
@@ -821,6 +821,8 @@ def main():
parser.add_argument(
'--strip-path', action='append', dest='strip_paths', default=[],
help='Strip a prefix from all filenames (may be repeated)')
+ parser.add_argument(
+ '--base', default=None, help='Base the template on an existing game')
parser.add_argument('-l', '--lower', action='store_true', dest='lower',
help='make all files lowercase')
parser.add_argument('-e', '--execute', action='store_true', dest='execute',
@@ -834,15 +836,26 @@ def main():
if args.execute:
do_one_exec(args.args,args.lower)
return
+
if args.flacsums:
do_flacsums(args.args[0],args.lower)
return
- game = GameData('__template__',
- dict(
- copyright='© 1970 FIXME',
- packages={},
- ))
+ if args.base is None:
+ game = GameData('__template__',
+ dict(
+ copyright='© 1970 FIXME',
+ packages={},
+ ))
+ else:
+ games = load_games(args.base)
+
+ if args.base not in games:
+ raise SystemExit('Unable to load game %r' % args.base)
+
+ game = games[args.base]
+
+ game.load_file_data()
template = Template(game, strip_paths=args.strip_paths)
# "./run make-template setup_<game>.exe gog_<game>.deb"
--
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