[pygobject] pygtkcompat: Add gdk.pixbuf_get_formats compat code
- From: Martin Pitt <martinpitt src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pygobject] pygtkcompat: Add gdk.pixbuf_get_formats compat code
- Date: Sat, 5 May 2012 06:55:25 +0000 (UTC)
commit fda8a069d503e63c76a6b1ba285a181822549059
Author: Jose Rostagno <joserostagno vijona com ar>
Date: Sat May 5 08:52:41 2012 +0200
pygtkcompat: Add gdk.pixbuf_get_formats compat code
https://bugzilla.gnome.org/show_bug.cgi?id=675489
Signed-off-by: Martin Pitt <martinpitt gnome org>
gi/pygtkcompat.py | 20 ++++++++++++++++++++
tests/test_pygtkcompat.py | 8 ++++++++
2 files changed, 28 insertions(+), 0 deletions(-)
---
diff --git a/gi/pygtkcompat.py b/gi/pygtkcompat.py
index 1ac09ae..3e07c50 100644
--- a/gi/pygtkcompat.py
+++ b/gi/pygtkcompat.py
@@ -135,6 +135,26 @@ def enable_gtk(version='2.0'):
Gdk.pixbuf_new_from_file = GdkPixbuf.Pixbuf.new_from_file
Gdk.PixbufLoader = GdkPixbuf.PixbufLoader.new_with_type
+ orig_get_formats = GdkPixbuf.Pixbuf.get_formats
+
+ def get_formats():
+ formats = orig_get_formats()
+ result = []
+
+ def make_dict(format_):
+ result = {}
+ result['description'] = format_.get_description()
+ result['name'] = format_.get_name()
+ result['mime_types'] = format_.get_mime_types()
+ result['extensions'] = format_.get_extensions()
+ return result
+
+ for format_ in formats:
+ result.append(make_dict(format_))
+ return result
+
+ Gdk.pixbuf_get_formats = get_formats
+
orig_get_frame_extents = Gdk.Window.get_frame_extents
def get_frame_extents(window):
diff --git a/tests/test_pygtkcompat.py b/tests/test_pygtkcompat.py
index 21ad863..76f7609 100644
--- a/tests/test_pygtkcompat.py
+++ b/tests/test_pygtkcompat.py
@@ -117,6 +117,14 @@ class TestGTKCompat(unittest.TestCase):
loader = gtk.gdk.PixbufLoader('png')
loader.close()
+ def testPixbufFormats(self):
+ formats = gtk.gdk.pixbuf_get_formats()
+ self.assertEqual(type(formats[0]), dict)
+ self.assertTrue('name' in formats[0])
+ self.assertTrue('description' in formats[0])
+ self.assertTrue('mime_types' in formats[0])
+ self.assertEqual(type(formats[0]['extensions']), list)
+
def testGdkWindow(self):
w = gtk.Window()
w.realize()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]