summaryrefslogtreecommitdiff
path: root/gtk/_lazyutils.py
diff options
context:
space:
mode:
authorJohan Dahlin <johan@src.gnome.org>2006-07-19 20:31:11 +0000
committerJohan Dahlin <johan@src.gnome.org>2006-07-19 20:31:11 +0000
commit2f5d9c61fa16e28b4d53a9c9bfaeacf78111d35b (patch)
treece941ed9c58d05c5bcc70258df33421ef1e10af3 /gtk/_lazyutils.py
parent9afd599fea79a7e5713602395ab998af0f77829c (diff)
downloadpygtk-2f5d9c61fa16e28b4d53a9c9bfaeacf78111d35b.tar.gz
Don't register constants Make enum/flags lazily created too.
* gtk/gtkmodule.c (init_gtkimpl): Don't register constants * codegen/codegen.py: Make enum/flags lazily created too.
Diffstat (limited to 'gtk/_lazyutils.py')
-rw-r--r--gtk/_lazyutils.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/gtk/_lazyutils.py b/gtk/_lazyutils.py
index 06a813d3..cf40199c 100644
--- a/gtk/_lazyutils.py
+++ b/gtk/_lazyutils.py
@@ -42,20 +42,22 @@ class LazyNamespace(ModuleType):
ns = self.__dict__
ns.update(locals)
+ ns['__module__'] = self
lazy_symbols = {}
for symbol in module._get_symbol_names():
- lazy_symbols[symbol] = ns[symbol] = None
+ lazy_symbols[symbol] = ns[symbol] = _marker
ns.update(__dict__=ns,
__bases__=(ModuleType,),
add_submodule=self.add_submodule)
def __getattribute__(_, name):
- if name in lazy_symbols:
- return module._get_symbol(ns, name)
v = ns.get(name, _marker)
if v is not _marker:
return v
+ if name in lazy_symbols:
+ s = module._get_symbol(ns, name)
+ return s
elif name in self._imports:
m = __import__(self._imports[name], {}, {}, ' ')
ns[name] = m