Browse Source

"import *" shouldn't import __file__ or __name__

rdb 16 years ago
parent
commit
f872dfbfce
1 changed files with 8 additions and 2 deletions
  1. 8 2
      direct/src/ffi/panda3d.py

+ 8 - 2
direct/src/ffi/panda3d.py

@@ -142,7 +142,11 @@ class panda3d_submodule(type(sys)):
     def __getattr__(self, name):
     def __getattr__(self, name):
         mod = self.__manager__.libimport(self.__library__)
         mod = self.__manager__.libimport(self.__library__)
         if name == "__all__":
         if name == "__all__":
-            return dir(mod)
+            everything = []
+            for obj in dir(mod):
+                if not obj.startswith("__"):
+                    everything.append(obj)
+            return everything
         elif name == "__library__":
         elif name == "__library__":
             return self.__library__
             return self.__library__
         elif name == "__libraries__":
         elif name == "__libraries__":
@@ -173,7 +177,9 @@ class panda3d_multisubmodule(type(sys)):
         if name == "__all__":
         if name == "__all__":
             everything = []
             everything = []
             for lib in self.__libraries__:
             for lib in self.__libraries__:
-                everything += dir(self.__manager__.libimport(lib))
+                for obj in dir(self.__manager__.libimport(lib)):
+                    if not obj.startswith("__"):
+                        everything.append(obj)
             return everything
             return everything
         elif name == "__libraries__":
         elif name == "__libraries__":
             return self.__libraries__
             return self.__libraries__