summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThibault Saunier <tsaunier@gnome.org>2015-04-24 10:27:47 +0200
committerThibault Saunier <tsaunier@gnome.org>2015-04-24 11:15:09 +0200
commit74f7ffbb24ceaa122c36248419faa76a6afadffc (patch)
tree6a392cb40a82cc9941c381e1ca9b61a35a42f83f
parentd97662ad41e4506b4df29d66bc23607ab091aa4a (diff)
overrides: Do not use inspect.signature as it is not avalaible in python2
Fix regression from https://bugzilla.gnome.org/show_bug.cgi?id=746329
-rw-r--r--gi/overrides/Gst.py21
1 files changed, 10 insertions, 11 deletions
diff --git a/gi/overrides/Gst.py b/gi/overrides/Gst.py
index b21ba75aae..9abfbcfeb1 100644
--- a/gi/overrides/Gst.py
+++ b/gi/overrides/Gst.py
@@ -25,10 +25,9 @@
# any later version.
import sys
-from inspect import signature
+import inspect
from ..overrides import override
from ..importer import modules
-from inspect import getmembers
if sys.version_info >= (3, 0):
@@ -112,14 +111,14 @@ class Pad(Gst.Pad):
def _query_override(self, pad, parent, query):
query.mini_object.refcount -= 1
- n_params = len(signature(self._real_query_func).parameters)
- if n_params == 2:
+ try:
res = self._real_query_func(pad, query)
- elif n_params == 3:
- res = self._real_query_func(pad, parent, query)
- else:
- raise TypeError("Invalid query method %s, 2 or 3 arguments requiered"
- % self._real_query_func)
+ except TypeError:
+ try:
+ res = self._real_query_func(pad, parent, query)
+ except TypeError:
+ raise TypeError("Invalid query method %s, 2 or 3 arguments requiered"
+ % self._real_query_func)
query.mini_object.refcount += 1
return res
@@ -347,10 +346,10 @@ def fake_method(*args):
raise NotInitalized("Please call Gst.init(argv) before using GStreamer")
-real_functions = [o for o in getmembers(Gst) if isinstance(o[1], type(Gst.init))]
+real_functions = [o for o in inspect.getmembers(Gst) if isinstance(o[1], type(Gst.init))]
class_methods = []
-for cname_klass in [o for o in getmembers(Gst) if isinstance(o[1], type(Gst.Element)) or isinstance(o[1], type(Gst.Caps))]:
+for cname_klass in [o for o in inspect.getmembers(Gst) if isinstance(o[1], type(Gst.Element)) or isinstance(o[1], type(Gst.Caps))]:
class_methods.append((cname_klass,
[(o, cname_klass[1].__dict__[o])
for o in cname_klass[1].__dict__