diff options
author | Johan Dahlin <johan@src.gnome.org> | 2006-07-19 20:31:11 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2006-07-19 20:31:11 +0000 |
commit | 2f5d9c61fa16e28b4d53a9c9bfaeacf78111d35b (patch) | |
tree | ce941ed9c58d05c5bcc70258df33421ef1e10af3 /gtk/_lazyutils.py | |
parent | 9afd599fea79a7e5713602395ab998af0f77829c (diff) | |
download | pygtk-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.py | 8 |
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 |