[game-data-packager] 01/01: detect icons provided by Steam for Linux, use it for Scummvm plugin

Alexandre Detiste detiste-guest at moszumanska.debian.org
Tue Jun 30 18:05:49 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 c7ab48cadcc2b5841bcce55a7b9eccbea7ac6d42
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date:   Tue Jun 30 20:04:30 2015 +0200

    detect icons provided by Steam for Linux, use it for Scummvm plugin
---
 game_data_packager/__init__.py             | 11 +++++++++++
 game_data_packager/games/scummvm_common.py |  8 +++++---
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/game_data_packager/__init__.py b/game_data_packager/__init__.py
index 88f0d06..80a3486 100644
--- a/game_data_packager/__init__.py
+++ b/game_data_packager/__init__.py
@@ -2705,6 +2705,17 @@ class GameData(object):
 
         subprocess.call(['su', '-c', cmd])
 
+    def locate_steam_icon(self, package):
+        id = package.steam.get('id') or self.steam.get('id')
+        if not id:
+            return
+        for res in (128, 96, 64, 32):
+            icon = '~/.local/share/icons/hicolor/%dx%d/apps/steam_icon_%d.png'
+            icon = os.path.expanduser(icon % (res, res, id))
+            if os.path.isfile(icon):
+                return icon
+        return
+
     def iter_steam_paths(self, packages=None):
         if packages is None:
             packages = self.packages.values()
diff --git a/game_data_packager/games/scummvm_common.py b/game_data_packager/games/scummvm_common.py
index a496b8d..b4cc7b6 100644
--- a/game_data_packager/games/scummvm_common.py
+++ b/game_data_packager/games/scummvm_common.py
@@ -57,9 +57,11 @@ class ScummvmGameData(GameData):
             return
 
         icon = package.name
-        for basename in (package.name, self.shortname):
-            from_ = os.path.join(DATADIR, basename + '.png')
-            if os.path.exists(from_):
+        for from_ in (self.locate_steam_icon(package),
+                      os.path.join(DATADIR, package.name + '.png'),
+                      os.path.join(DATADIR, self.shortname + '.png'),
+                      os.path.join('/usr/share/pixmaps', icon + '.png')):
+            if from_ and os.path.exists(from_):
                 pixdir = os.path.join(destdir, 'usr/share/pixmaps')
                 mkdir_p(pixdir)
                 install_data(from_, os.path.join(pixdir, '%s.png' % icon))

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