[game-data-packager] 01/01: doom2-masterlevels: handle system without any doom engine ...

Alexandre Detiste detiste-guest at moszumanska.debian.org
Sat May 2 12:43:20 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 f0a6ba0284487190d67e45a44410b23eb56a09a0
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date:   Sat May 2 14:39:03 2015 +0200

    doom2-masterlevels: handle system without any doom engine ...
    
    or doomsday as default engine, remove dead code in run_game()
---
 game_data_packager/__init__.py |  6 ++++--
 runtime/doom2-masterlevels.py  | 45 +++++++++++++++++++++++++-----------------
 2 files changed, 31 insertions(+), 20 deletions(-)

diff --git a/game_data_packager/__init__.py b/game_data_packager/__init__.py
index fb5de0e..472c716 100644
--- a/game_data_packager/__init__.py
+++ b/game_data_packager/__init__.py
@@ -395,7 +395,7 @@ class GameDataPackage(object):
         self.architecture = 'all'
 
         # Debian section
-        self.section = 'non-free/games'
+        self.section = 'local/games'
 
     @property
     def aliases(self):
@@ -776,7 +776,9 @@ class GameData(object):
                 setattr(package, k, d[k])
 
         assert self.copyright or package.copyright, package.name
-        assert package.section in ('non-free/games', 'contrib/games', 'games'), 'unsupported'
+        assert '/' not in package.section \
+          or package.section.split('/')[0] in ('local', 'non-free', 'contrib'), 'unsupported'
+        assert package.section.split('/')[-1] in ('games'), 'unsupported'
 
         if 'install_to' in d:
             assert 'usr/share/games/' + package.name != d['install_to'] + '-data', \
diff --git a/runtime/doom2-masterlevels.py b/runtime/doom2-masterlevels.py
index ec5ee87..bc84358 100755
--- a/runtime/doom2-masterlevels.py
+++ b/runtime/doom2-masterlevels.py
@@ -167,26 +167,31 @@ class Launcher:
         label = Gtk.Label("Choose your engine")
         grid.attach(label, 2, 3, 1, 1)
         radiogrid = Gtk.Grid()
-        default = os.readlink('/etc/alternatives/doom')
-        self.engine = [default]
-        radiobuttonDefault = Gtk.RadioButton(group=None, label="%s (default)" % default)
+        radiobuttonDefault = Gtk.RadioButton(group=None, label="n/a")
         radiobuttonDefault.connect('toggled', self.select_engine)
         radiogrid.attach(radiobuttonDefault, 0, 0, 1, 1)
-        i = 1
-        proc = subprocess.Popen(['update-alternatives', '--list', 'doom'],
+
+        if os.path.islink('/etc/alternatives/doom'):
+            default = os.readlink('/etc/alternatives/doom')
+            if default == '/usr/games/doomsday-compat':
+                default = '/usr/games/doomsday'
+            radiobuttonDefault.set_label("%s (default)" % default)
+            self.select_engine(radiobuttonDefault)
+            i = 1
+            proc = subprocess.Popen(['update-alternatives', '--list', 'doom'],
                                 stdout=subprocess.PIPE, universal_newlines=True)
+            for alternative in proc.stdout:
+                alternative = alternative.strip()
+                if alternative == '/usr/games/doomsday-compat':
+                    alternative = '/usr/games/doomsday'
+                if alternative == default:
+                   continue
+                radiobutton = Gtk.RadioButton(group=radiobuttonDefault, label=alternative)
+                radiobutton.connect('toggled', self.select_engine)
+                i += 1
+                radiogrid.attach(radiobutton, 0, i, i, 1)
+                radiogrid.set_tooltip_text('Default can be changed with update-alternatives(8)')
 
-        for alternative in proc.stdout:
-            alternative = alternative.strip()
-            if alternative == default:
-                continue
-            if alternative == '/usr/games/doomsday-compat':
-                alternative = '/usr/games/doomsday'
-            radiobutton = Gtk.RadioButton(group=radiobuttonDefault, label=alternative)
-            radiobutton.connect('toggled', self.select_engine)
-            i += 1
-            radiogrid.attach(radiobutton, 0, i, i, 1)
-            radiogrid.set_tooltip_text('Default can be changed with update-alternatives(8)')
         grid.attach(radiogrid, 2, 4, 1, 1)
 
         # Run !
@@ -237,14 +242,18 @@ class Launcher:
             self.engine.append('doom2')
 
     def run_game(self, event):
-        if not self.warp:
-            return
         subprocess.call(self.engine +
             ['-file', '/usr/share/games/doom/%s.wad' % self.game,
             '-warp', '%d' % self.warp,
             '-skill', '%d' % self.difficulty])
 
     def main(self):
+        if not self.engine:
+            message = "This launcher needs some DOOM engine to be installed."
+            md = Gtk.MessageDialog(self.window, 0, Gtk.MessageType.WARNING,
+                                       Gtk.ButtonsType.OK, message)
+            md.run()
+            exit(message)
         for level in levels.keys():
             level = os.path.splitext(level)[0]
             fullpath = '/usr/share/games/doom/%s.wad' % level

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