##// END OF EJS Templates
ensure `__all__` and `__dir__` are defined on shims...
Min RK -
Show More
@@ -68,6 +68,18 b' class ShimModule(types.ModuleType):'
68 68 def __spec__(self):
69 69 """Don't produce __spec__ until requested"""
70 70 return __import__(self._mirror).__spec__
71
72 def __dir__(self):
73 return dir(__import__(self._mirror))
74
75 @property
76 def __all__(self):
77 """Ensure __all__ is always defined"""
78 mod = __import__(self._mirror)
79 try:
80 return mod.__all__
81 except AttributeError:
82 return [name for name in dir(mod) if not name.startswith('_')]
71 83
72 84 def __getattr__(self, key):
73 85 # Use the equivalent of import_item(name), see below
General Comments 0
You need to be logged in to leave comments. Login now