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 <i...@gno.de> Gerrit-Reviewer: Xqt <i...@gno.de> Gerrit-Reviewer: jenkins-bot
_______________________________________________ Pywikibot-commits mailing list -- pywikibot-commits@lists.wikimedia.org To unsubscribe send an email to pywikibot-commits-le...@lists.wikimedia.org