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
This commit is contained in:
Thibault Saunier 2015-04-24 10:27:47 +02:00
parent d97662ad41
commit 74f7ffbb24

View file

@ -25,10 +25,9 @@
# any later version. # any later version.
import sys import sys
from inspect import signature import inspect
from ..overrides import override from ..overrides import override
from ..importer import modules from ..importer import modules
from inspect import getmembers
if sys.version_info >= (3, 0): if sys.version_info >= (3, 0):
@ -112,14 +111,14 @@ class Pad(Gst.Pad):
def _query_override(self, pad, parent, query): def _query_override(self, pad, parent, query):
query.mini_object.refcount -= 1 query.mini_object.refcount -= 1
n_params = len(signature(self._real_query_func).parameters) try:
if n_params == 2:
res = self._real_query_func(pad, query) res = self._real_query_func(pad, query)
elif n_params == 3: except TypeError:
res = self._real_query_func(pad, parent, query) try:
else: res = self._real_query_func(pad, parent, query)
raise TypeError("Invalid query method %s, 2 or 3 arguments requiered" except TypeError:
% self._real_query_func) raise TypeError("Invalid query method %s, 2 or 3 arguments requiered"
% self._real_query_func)
query.mini_object.refcount += 1 query.mini_object.refcount += 1
return res return res
@ -347,10 +346,10 @@ def fake_method(*args):
raise NotInitalized("Please call Gst.init(argv) before using GStreamer") 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 = [] 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, class_methods.append((cname_klass,
[(o, cname_klass[1].__dict__[o]) [(o, cname_klass[1].__dict__[o])
for o in cname_klass[1].__dict__ for o in cname_klass[1].__dict__