]> git.nothing2do.fr Git - get-hack-src.git/commitdiff
Added `image_resources()` function to get all images from transform pack
authorallfro <ndouba@gmail.com>
Mon, 8 Apr 2013 01:21:41 +0000 (21:21 -0400)
committerallfro <ndouba@gmail.com>
Mon, 8 Apr 2013 01:21:41 +0000 (21:21 -0400)
src/canari/resource.py

index 3a928a20116e4452f1c049036719fffcd2bc625c..c8e8b6f6e652ca75ace833321c66ccb87d7e5673 100644 (file)
@@ -2,7 +2,8 @@
 
 from utils.stack import modulecallee
 
-from pkg_resources import resource_filename
+from imghdr import what
+from pkg_resources import resource_filename, resource_listdir, resource_isdir
 
 __author__ = 'Nadeem Douba'
 __copyright__ = 'Copyright 2012, Canari Project'
@@ -47,5 +48,18 @@ def icon_resource(name, pkg=None):
     return imageicon(pkg, name)
 
 
+def image_resources(pkg=None, dir='resources'):
+    if pkg is None:
+        pkg = modulecallee().__name__.split('.')[0]
+    pkg_dir = '%s.%s' % (pkg, dir)
+    images = []
+    for i in resource_listdir(pkg, dir):
+        fname = resource_filename(pkg_dir, i)
+        if resource_isdir(pkg_dir, i):
+            images.extend(image_resources(pkg_dir, i))
+        elif what(fname) is not None:
+            images.append(fname)
+    return images
+
 # etc
 conf = resource_filename(etc, 'canari.conf')