[game-data-packager] 02/02: missing_langs: don't take demos in consideration

Alexandre Detiste detiste-guest at moszumanska.debian.org
Sun Jul 19 08:34:05 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 d4d5640dd1e90d46f0856bd64074836ab036cb8e
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date:   Sun Jul 19 10:33:31 2015 +0200

    missing_langs: don't take demos in consideration
---
 data/arx.yaml                  |  2 ++
 game_data_packager/__init__.py |  3 ++-
 tools/babel.py                 | 27 ++++++++++++++++++---------
 3 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/data/arx.yaml b/data/arx.yaml
index 0e60da1..7a53384 100644
--- a/data/arx.yaml
+++ b/data/arx.yaml
@@ -14,6 +14,8 @@ help_text: |
 
   The french/german/japanese versions are also supported.
 
+missing_langs: [de,fr,ja]
+
 packages:
   arx-fatalis-en-data:
     install_to: usr/share/games/arx
diff --git a/game_data_packager/__init__.py b/game_data_packager/__init__.py
index 102129b..2f772e8 100644
--- a/game_data_packager/__init__.py
+++ b/game_data_packager/__init__.py
@@ -753,7 +753,8 @@ class GameData(object):
               package.better_version in self.packages), package.better_version
 
             # check for stale missing_langs
-            assert not set(package.langs).intersection(self.missing_langs)
+            if not package.demo_for:
+                assert not set(package.langs).intersection(self.missing_langs)
 
         for filename, wanted in self.files.items():
             if wanted.unpack:
diff --git a/tools/babel.py b/tools/babel.py
index badcfa4..cbc501c 100755
--- a/tools/babel.py
+++ b/tools/babel.py
@@ -28,18 +28,21 @@ langs['total'] = 0
 for name, game in load_games().items():
     stats = dict()
     for package in game.packages.values():
-        lang = package.lang
-        langs[lang] = langs.get(lang, 0) + 1
         langs['total'] += 1
-        stats[lang] = stats.get(lang, 0) + 1
+        if package.demo_for:
+            stats['demos'] = stats.get('demos', 0) + 1
+        else:
+            langs[package.lang] = langs.get(package.lang, 0) + 1
+            stats[package.lang] = stats.get(package.lang, 0) + 1
 
     # free-as-in-beer
     fullfree = True
     somefree = False
     for package in game.packages.values():
-        for m_lang in getattr(package, 'langs', []):
-            if m_lang not in stats:
-                stats[m_lang] = '*'
+        if not package.demo_for:
+            for m_lang in package.langs:
+                if m_lang not in stats:
+                    stats[m_lang] = '*'
         if GameData.fill_gaps(game, package=package,
                  log=False) is FillResult.IMPOSSIBLE:
              fullfree = False
@@ -85,6 +88,7 @@ html.write('<td>Demo</td><td>Steam</td><td>GOG.com</td><td>DotEmu</td><td>Misc.<
 
 # BODY
 last_genre = None
+demos = 0
 for game in games:
     html.write('<tr>\n')
     genre = game['genre']
@@ -106,7 +110,10 @@ for game in games:
     if game['fullfree']:
         html.write('  <td colspan=5 align=center><b>freeload</b></td>\n')
     else:
-        if game['somefree']:
+        if 'demos' in game:
+            demos += game['demos']
+            html.write('  <td align=center><b>%i</b></td>\n' % game['demos'])
+        elif game['somefree']:
             html.write('  <td align=center><b>X</b></td>\n')
         else:
             html.write('  <td> </td>\n')
@@ -120,10 +127,12 @@ for game in games:
 # TOTAL
 html.write('<tr><td colspan=2><b>Total</b></td>\n')
 for lang in langs_order:
-    html.write('  <td><b>%s</b></td>\n' % langs[lang])
+    html.write('  <td><b>%i</b></td>\n' % langs[lang])
+
+html.write('  <td><b>%i</b></td>\n' % demos)
 
 html.write('''
-<td colspan=5> </td>
+<td colspan=4> </td>
 </tr>
 </table>
 <ul>

-- 
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