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 bd4f77900507a24243f6c60d4b1a083d7967e042
Author: Alexandre Detiste <[email protected]>
Date:   Mon Jun 15 17:56:52 2015 +0200

    add support for Unar extractor
---
 debian/control                 |  2 ++
 game_data_packager/__init__.py | 13 ++++++++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/debian/control b/debian/control
index 6b0e945..9612090 100644
--- a/debian/control
+++ b/debian/control
@@ -51,6 +51,8 @@ Suggests:
        unace-nonfree,
 # for Arx Fatalis
        unrar,
+# for I have no mouth and I must scream
+        unar,
 # for Doom2 Master Levels launcher
        python3-gi,
        gir1.2-gtk-3.0,
diff --git a/game_data_packager/__init__.py b/game_data_packager/__init__.py
index f1d3736..d6ad6ad 100644
--- a/game_data_packager/__init__.py
+++ b/game_data_packager/__init__.py
@@ -651,7 +651,7 @@ class GameData(object):
                 if stripped == '' or stripped.startswith('#'):
                     continue
 
-                size, md5, filename = line.split(None, 3)
+                size, md5, filename = line.split(None, 2)
                 f = self._ensure_file(filename)
                 f.size = int(size)
                 f.md5 = md5
@@ -1707,6 +1707,17 @@ class GameData(object):
                                 [os.path.abspath(found_name)] +
                                 list(to_unpack), cwd=tmpdir)
                     self.consider_file_or_dir(tmpdir)
+                elif fmt == 'unar':
+                    to_unpack = provider.unpack.get('unpack', 
provider.provides)
+                    logger.debug('Extracting %r from %s', to_unpack, 
found_name)
+                    tmpdir = os.path.join(self.get_workdir(), 'tmp',
+                            provider_name + '.d')
+                    mkdir_p(tmpdir)
+                    quiet = [] if VERBOSE else ['-q']
+                    subprocess.check_call(['unar', '-D'] +
+                               quiet + [os.path.abspath(found_name)] +
+                               list(to_unpack), cwd=tmpdir)
+                    self.consider_file_or_dir(tmpdir)
                 elif fmt == 'unshield':
                     other_parts = provider.unpack['other_parts']
                     for p in other_parts:

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-games/game-data-packager.git

_______________________________________________
Pkg-games-commits mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

Reply via email to