summaryrefslogtreecommitdiffstats
path: root/Lib/tkinter/__init__.py
diff options
context:
space:
mode:
authorFlavian Hautbois <flavianh@sicara.com>2019-07-26 01:30:33 (GMT)
committerTerry Jan Reedy <tjreedy@udel.edu>2019-07-26 01:30:33 (GMT)
commit76b645124b3aaa34bc664eece43707c01ef1b382 (patch)
tree10aaa3e7e89080bd68128c4de544050599d261bf /Lib/tkinter/__init__.py
parentc4cda4369f4b8f33082890d16dfc364a90658ef6 (diff)
downloadcpython-76b645124b3aaa34bc664eece43707c01ef1b382.zip
cpython-76b645124b3aaa34bc664eece43707c01ef1b382.tar.gz
cpython-76b645124b3aaa34bc664eece43707c01ef1b382.tar.bz2
bpo-29446: tkinter 'import *' only imports what it should (GH-14864)
Add __all__ to tkinter.__init__ and submodules. Replace 'import *' with explicit imports in some submodules.
Diffstat (limited to 'Lib/tkinter/__init__.py')
-rw-r--r--Lib/tkinter/__init__.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/Lib/tkinter/__init__.py b/Lib/tkinter/__init__.py
index 57d5b25..9626a27 100644
--- a/Lib/tkinter/__init__.py
+++ b/Lib/tkinter/__init__.py
@@ -32,13 +32,13 @@ tk.mainloop()
import enum
import sys
+import types
import _tkinter # If this fails your Python may not be configured for Tk
TclError = _tkinter.TclError
from tkinter.constants import *
import re
-
wantobjects = 1
TkVersion = float(_tkinter.TK_VERSION)
@@ -4569,5 +4569,9 @@ def _test():
root.mainloop()
+__all__ = [name for name, obj in globals().items()
+ if not name.startswith('_') and not isinstance(obj, types.ModuleType)
+ and name not in {'wantobjects'}]
+
if __name__ == '__main__':
_test()