Xqt has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1086506?usp=email )
Change subject: [bugfix] import tkinter and there objects within try statement
......................................................................
[bugfix] import tkinter and there objects within try statement
Some Python distributions have tkinter but the underlying _tkinter
implementation is missing. Thus just import tkinter does not raise
the exception.
Bug: T378894
Change-Id: I5d2a37bb93fcb4b45f0dff323f96fd9fa8722d88
---
M pywikibot/userinterfaces/gui.py
1 file changed, 14 insertions(+), 13 deletions(-)
Approvals:
Xqt: Verified; Looks good to me, approved
diff --git a/pywikibot/userinterfaces/gui.py b/pywikibot/userinterfaces/gui.py
index 7cd4213..64bcbcf 100644
--- a/pywikibot/userinterfaces/gui.py
+++ b/pywikibot/userinterfaces/gui.py
@@ -23,28 +23,29 @@
from pywikibot.tools import PYTHON_VERSION
+# Some Python distributions have tkinter but the underlying _tkinter
+# implementation is missing. Thus just import tkinter does not raise
+# the exception. Therefore try to import _tkinter.
+# Note: idlelib also needs tkinter.
try:
- import idlelib
+ import _tkinter # noqa: F401
except ImportError as e:
- idlelib = e
- ConfigDialog = ReplaceDialog = SearchDialog = object()
- idleConf = MultiCallCreator = object() # noqa: N816
+ idlelib = tkinter = e
+ Frame = simpledialog = ScrolledText = object
+ ConfigDialog = ReplaceDialog = SearchDialog = object
+ idleConf = MultiCallCreator = object # noqa: N816
else:
+ import tkinter
+ from tkinter import Frame, simpledialog
+ from tkinter.scrolledtext import ScrolledText
+
+ import idlelib
from idlelib import replace as ReplaceDialog # noqa: N812
from idlelib import search as SearchDialog # noqa: N812
from idlelib.config import idleConf
from idlelib.configdialog import ConfigDialog
from idlelib.multicall import MultiCallCreator
-try:
- import tkinter
-except ImportError as e:
- tkinter = e
- Frame = simpledialog = ScrolledText = object
-else:
- from tkinter import Frame, simpledialog
- from tkinter.scrolledtext import ScrolledText
-
__all__ = ('EditBoxWindow', 'TextEditor', 'Tkdialog')
--
To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1086506?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.wikimedia.org/r/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I5d2a37bb93fcb4b45f0dff323f96fd9fa8722d88
Gerrit-Change-Number: 1086506
Gerrit-PatchSet: 6
Gerrit-Owner: Xqt <[email protected]>
Gerrit-Reviewer: Xqt <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
Pywikibot-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]