diff options
Diffstat (limited to 'import-layers/yocto-poky/meta/lib/oe/maketype.py')
-rw-r--r-- | import-layers/yocto-poky/meta/lib/oe/maketype.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/import-layers/yocto-poky/meta/lib/oe/maketype.py b/import-layers/yocto-poky/meta/lib/oe/maketype.py index 139f33369..f88981dd9 100644 --- a/import-layers/yocto-poky/meta/lib/oe/maketype.py +++ b/import-layers/yocto-poky/meta/lib/oe/maketype.py @@ -6,7 +6,8 @@ the arguments of the type's factory for details. """ import inspect -import types +import oe.types as types +import collections available_types = {} @@ -53,7 +54,9 @@ def get_callable_args(obj): if type(obj) is type: obj = obj.__init__ - args, varargs, keywords, defaults = inspect.getargspec(obj) + sig = inspect.signature(obj) + args = list(sig.parameters.keys()) + defaults = list(s for s in sig.parameters.keys() if sig.parameters[s].default != inspect.Parameter.empty) flaglist = [] if args: if len(args) > 1 and args[0] == 'self': @@ -93,7 +96,7 @@ for name in dir(types): continue obj = getattr(types, name) - if not callable(obj): + if not isinstance(obj, collections.Callable): continue register(name, obj) |