[game-data-packager] 01/01: move support for multilang packages from scummvm to core
Alexandre Detiste
detiste-guest at moszumanska.debian.org
Fri Jun 26 09:32:40 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 71bf5527851d17a4e96bf7bda00027d64411ee8b
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date: Fri Jun 26 11:29:34 2015 +0200
move support for multilang packages from scummvm to core
so there are:
- games where 1 'multilang' package provides several languages;
where the engine maybe need some command-line switch (scummvm)
- game with 1 package per language
---
data/doom2.yaml | 1 +
data/rtcw.yaml | 1 +
game_data_packager/__init__.py | 16 +++++++++++++---
game_data_packager/games/scummvm_common.py | 2 --
tools/babel.py | 7 ++-----
5 files changed, 17 insertions(+), 10 deletions(-)
diff --git a/data/doom2.yaml b/data/doom2.yaml
index 3c6eedc..eb04e30 100644
--- a/data/doom2.yaml
+++ b/data/doom2.yaml
@@ -17,6 +17,7 @@ help_text: |
packages:
doom2-wad:
+ langs: [en,fr]
debian:
provides: doom-wad
conflicts: freedoom (<< 0.6.4-4), freedm (<< 0.6.4-4)
diff --git a/data/rtcw.yaml b/data/rtcw.yaml
index 85e289e..d46aea5 100644
--- a/data/rtcw.yaml
+++ b/data/rtcw.yaml
@@ -10,6 +10,7 @@ compress_deb: false
packages:
rtcw-data:
+ langs: [en,fr]
steam:
id: 9010
path: "common/Return to Castle Wolfenstein"
diff --git a/game_data_packager/__init__.py b/game_data_packager/__init__.py
index dbb7141..edc5c6b 100644
--- a/game_data_packager/__init__.py
+++ b/game_data_packager/__init__.py
@@ -351,8 +351,8 @@ class GameDataPackage(object):
# This optional value will overide the game global copyright
self.copyright = None
- # Language, ISO-639 code
- self.lang = 'en'
+ # Languages, list of ISO-639 codes
+ self.langs = ['en']
# Where we install files.
# For instance, if this is 'usr/share/games/quake3' and we have
@@ -460,6 +460,15 @@ class GameDataPackage(object):
return 'expansion'
return 'full'
+ @property
+ def lang(self):
+ return self.langs[0]
+
+ @lang.setter
+ def lang(self, value):
+ assert type(value) is str
+ self.langs = [value]
+
def to_yaml(self):
return {
'architecture': self.architecture,
@@ -840,7 +849,7 @@ class GameData(object):
def _populate_package(self, package, d):
for k in ('expansion_for', 'expansion_for_ext', 'longname', 'symlinks', 'install_to',
'install_to_docdir', 'install_contents_of', 'steam', 'debian',
- 'rip_cd', 'architecture', 'aliases', 'better_version',
+ 'rip_cd', 'architecture', 'aliases', 'better_version', 'langs',
'copyright', 'engine', 'gog', 'origin', 'lang', 'component', 'section'):
if k in d:
setattr(package, k, d[k])
@@ -849,6 +858,7 @@ class GameData(object):
assert package.component in ('main', 'contrib', 'non-free', 'local')
assert package.component == 'local' or 'license' in d
assert package.section in ('games', 'doc'), 'unsupported'
+ assert type(package.langs) is list
if 'install_to' in d:
assert 'usr/share/games/' + package.name != d['install_to'] + '-data', \
diff --git a/game_data_packager/games/scummvm_common.py b/game_data_packager/games/scummvm_common.py
index b30e55a..7f00f55 100644
--- a/game_data_packager/games/scummvm_common.py
+++ b/game_data_packager/games/scummvm_common.py
@@ -45,8 +45,6 @@ class ScummvmGameData(GameData):
def _populate_package(self, package, d):
super(ScummvmGameData, self)._populate_package(package, d)
package.gameid = d.get('gameid')
- package.langs = d.get('langs',[package.lang])
- assert type(package.langs) is list
def fill_extra_files(self, package, destdir):
super(ScummvmGameData, self).fill_extra_files(package, destdir)
diff --git a/tools/babel.py b/tools/babel.py
index b231cb2..7faface 100755
--- a/tools/babel.py
+++ b/tools/babel.py
@@ -36,15 +36,13 @@ for name, game in load_games().items():
for package in game.packages.values():
for m_lang in getattr(package, 'langs', []):
if m_lang not in stats:
- stats[m_lang] = 'm'
+ stats[m_lang] = '*'
genres[game.genre] = genres.get(game.genre, 0) + 1
stats['genre'] = game.genre
stats['shortname'] = name
stats['longname'] = ascii_safe(game.longname, force=True)
stats['total'] = len(game.packages)
- if name in ('doom2', 'rtcw'):
- stats['fr'] = '*'
games.append(stats)
if 'ru' not in langs:
@@ -108,9 +106,8 @@ html.write('''
</tr>
</table>
<ul>
-<li>* : provided as an alternative one-file in a 'en'/'C' package</li>
<li>! : language is missing</li>
-<li>m : multi-lang support in a single package</li>
+<li>* : multi-lang support in a single package</li>
</ul>
</html>
'''
--
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