From 0621a276b9e1bfb126f7bcfbe6a55e83e31b2586 Mon Sep 17 00:00:00 2001 From: David Halter Date: Tue, 7 May 2013 22:57:23 +0430 Subject: [PATCH] modules in modules (only possible with c_builtins) are now completable. however it's kind of hackish, I'm using a class instead of a real module, because this is the easiest way for jedi, fixes #126 --- jedi/builtin.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jedi/builtin.py b/jedi/builtin.py index 73375e62..b48e5e0c 100644 --- a/jedi/builtin.py +++ b/jedi/builtin.py @@ -235,7 +235,7 @@ def _generate_code(scope, mixin_funcs={}, depth=0): if inspect.isbuiltin(exe) or inspect.ismethod(exe) \ or inspect.ismethoddescriptor(exe): funcs[n] = exe - elif inspect.isclass(exe): + elif inspect.isclass(exe) or inspect.ismodule(exe): classes[n] = exe elif inspect.ismemberdescriptor(exe): members[n] = exe @@ -261,7 +261,8 @@ def _generate_code(scope, mixin_funcs={}, depth=0): # classes for name, cl in classes.items(): - bases = (c.__name__ for c in cl.__bases__) + bases = (c.__name__ for c in cl.__bases__) if inspect.isclass(cl) \ + else [] code += 'class %s(%s):\n' % (name, ','.join(bases)) if depth == 0: try: