From f360600fcdf8fb90b4c59280ba268dab2f766def Mon Sep 17 00:00:00 2001 From: Alexandre Detiste Date: Wed, 23 Oct 2024 00:11:32 +0200 Subject: [PATCH] finish removing dependency on six (#403) * finish removing dependency on six * fix tkinter.FileDialog * fix filedialog <> FileDialog --- README.md | 5 ++--- pysollib/htmllib2.py | 3 +-- pysollib/kivy/menubar.py | 2 +- pysollib/tile/basetilemfxdialog.py | 2 +- pysollib/tile/fontsdialog.py | 7 +++---- pysollib/tile/menubar.py | 4 ++-- pysollib/tile/playeroptionsdialog.py | 3 +-- pysollib/tile/progressbar.py | 3 +-- pysollib/tile/selectcardset.py | 3 +-- pysollib/tile/selectgame.py | 3 +-- pysollib/tile/selecttile.py | 7 +++---- pysollib/tile/soundoptionsdialog.py | 3 +-- pysollib/tile/statusbar.py | 3 +-- pysollib/tile/timeoutsdialog.py | 3 +-- pysollib/tile/tkhtml.py | 3 +-- pysollib/tile/tkstats.py | 13 ++++++------- pysollib/tile/tkwidget.py | 7 +++---- pysollib/tile/toolbar.py | 3 +-- pysollib/tile/wizarddialog.py | 3 +-- pysollib/tk/fontsdialog.py | 5 ++--- pysollib/tk/selecttile.py | 5 ++--- pysollib/tk/tkstats.py | 13 ++++++------- pysollib/tk/tkwidget.py | 5 ++--- pysollib/ui/tktile/colorsdialog.py | 3 +-- pysollib/ui/tktile/menubar.py | 11 +++++------ pysollib/ui/tktile/selecttree.py | 4 ++-- pysollib/ui/tktile/tkutil.py | 5 ++--- pysollib/winsystems/common.py | 4 ++-- pysollib/winsystems/win32.py | 2 +- pysollib/winsystems/x11.py | 10 +++++----- scripts/cardset_viewer.py | 5 ++--- setup.py | 1 - 32 files changed, 64 insertions(+), 89 deletions(-) diff --git a/README.md b/README.md index d0ac15cb..0731cd28 100644 --- a/README.md +++ b/README.md @@ -118,19 +118,18 @@ per the instructions above. At the moment, this only works on POSIX (Linux, FreeBSD and similar) systems. Windows and Mac users - you'll need to chip in with a script for your system. -#### 1 - Install build prerequisites: six and pysol-cards +#### 1 - Install build prerequisite: pysol-cards This is kind of stupid and maybe it can be fixed in the future, but for now: ``` -pip install six pip install pysol-cards ``` You may want to use your OS distribution package system instead, for example: ``` -sudo apt-get install python3-six +sudo apt-get install python3-pysol-cards ``` For Pillow compilation, libjpeg headers and libraries need to be available: diff --git a/pysollib/htmllib2.py b/pysollib/htmllib2.py index dab753e7..54840557 100644 --- a/pysollib/htmllib2.py +++ b/pysollib/htmllib2.py @@ -3,11 +3,10 @@ See the HTML 2.0 specification: http://www.w3.org/hypertext/WWW/MarkUp/html-spec/html-spec_toc.html """ +import html.parser as html_parser from pysollib.formatter import AS_IS -from six.moves import html_parser - class HTMLParseError(RuntimeError): """Error raised when an HTML document can't be parsed.""" diff --git a/pysollib/kivy/menubar.py b/pysollib/kivy/menubar.py index f29adabc..e9139845 100644 --- a/pysollib/kivy/menubar.py +++ b/pysollib/kivy/menubar.py @@ -2092,7 +2092,7 @@ class PysolMenubarTk: idir, ifile = "", "" if not idir: idir = self.app.dn.savegames -# d = tkFileDialog.Open() +# d = tkinter.filedialog.Open() # filename = d.show(filetypes=self.FILETYPES, # defaultextension=self.DEFAULTEXTENSION, # initialdir=idir, initialfile=ifile) diff --git a/pysollib/tile/basetilemfxdialog.py b/pysollib/tile/basetilemfxdialog.py index 58ff19a1..ae4f2c68 100644 --- a/pysollib/tile/basetilemfxdialog.py +++ b/pysollib/tile/basetilemfxdialog.py @@ -1,4 +1,4 @@ -from six.moves import tkinter_ttk as ttk +import tkinter.ttk as ttk from .tkwidget import MfxDialog diff --git a/pysollib/tile/fontsdialog.py b/pysollib/tile/fontsdialog.py index 39c93927..00243907 100644 --- a/pysollib/tile/fontsdialog.py +++ b/pysollib/tile/fontsdialog.py @@ -22,14 +22,13 @@ # --------------------------------------------------------------------------- import tkinter +import tkinter.font +import tkinter.ttk as ttk from pysollib.mfxutil import KwStruct from pysollib.mygettext import _ from pysollib.ui.tktile.tkutil import bind -from six.moves import tkinter_font -from six.moves import tkinter_ttk as ttk - from .tkwidget import MfxDialog from .tkwidget import PysolScale @@ -109,7 +108,7 @@ class FontChooserDialog(MfxDialog): command=self.fontupdate, variable=self.size_var) sc.grid(row=4, column=0, columnspan=2, sticky='news') # - font_families = list(tkinter_font.families()) + font_families = list(tkinter.font.families()) font_families.sort() selected = -1 n = 0 diff --git a/pysollib/tile/menubar.py b/pysollib/tile/menubar.py index 1920b9c9..e202a617 100644 --- a/pysollib/tile/menubar.py +++ b/pysollib/tile/menubar.py @@ -21,6 +21,8 @@ # # ---------------------------------------------------------------------------## +import tkinter.ttk as ttk + from pysollib.mygettext import _, n_ from pysollib.settings import TITLE from pysollib.ui.tktile.findcarddialog import connect_game_find_card_dialog @@ -32,8 +34,6 @@ from pysollib.ui.tktile.menubar import MfxMenu, PysolMenubarTkCommon from pysollib.ui.tktile.solverdialog import connect_game_solver_dialog from pysollib.util import CARDSET -from six.moves import tkinter_ttk as ttk - from .selectgame import SelectGameDialog, SelectGameDialogWithPreview from .selecttile import SelectTileDialogWithPreview from .soundoptionsdialog import SoundOptionsDialog diff --git a/pysollib/tile/playeroptionsdialog.py b/pysollib/tile/playeroptionsdialog.py index 604b5aff..76e1bb47 100644 --- a/pysollib/tile/playeroptionsdialog.py +++ b/pysollib/tile/playeroptionsdialog.py @@ -22,12 +22,11 @@ # ---------------------------------------------------------------------------## import tkinter +import tkinter.ttk as ttk from pysollib.mfxutil import KwStruct from pysollib.mygettext import _ -from six.moves import tkinter_ttk as ttk - from .tkwidget import MfxDialog diff --git a/pysollib/tile/progressbar.py b/pysollib/tile/progressbar.py index 703bf272..2b2f9688 100644 --- a/pysollib/tile/progressbar.py +++ b/pysollib/tile/progressbar.py @@ -22,12 +22,11 @@ # --------------------------------------------------------------------------- import tkinter +import tkinter.ttk as ttk from pysollib.ui.tktile.tkconst import EVENT_HANDLED from pysollib.ui.tktile.tkutil import makeToplevel, setTransient -from six.moves import tkinter_ttk as ttk - # ************************************************************************ # * a simple progress bar # ************************************************************************ diff --git a/pysollib/tile/selectcardset.py b/pysollib/tile/selectcardset.py index 4b5ec030..13ad74fa 100644 --- a/pysollib/tile/selectcardset.py +++ b/pysollib/tile/selectcardset.py @@ -23,6 +23,7 @@ import os import tkinter +import tkinter.ttk as ttk from pysollib.mfxutil import KwStruct, USE_PIL from pysollib.mygettext import _ @@ -32,8 +33,6 @@ from pysollib.ui.tktile.tkcanvas import MfxCanvasImage from pysollib.ui.tktile.tkutil import bind, loadImage from pysollib.util import CARDSET -from six.moves import tkinter_ttk as ttk - from .selecttree import SelectDialogTreeCanvas from .selecttree import SelectDialogTreeLeaf, SelectDialogTreeNode from .tkwidget import MfxDialog, MfxScrolledCanvas, PysolCombo, PysolScale diff --git a/pysollib/tile/selectgame.py b/pysollib/tile/selectgame.py index 218ccbe7..9975d825 100644 --- a/pysollib/tile/selectgame.py +++ b/pysollib/tile/selectgame.py @@ -23,6 +23,7 @@ import os import tkinter +import tkinter.ttk as ttk from collections import UserList from pysollib.gamedb import GI @@ -33,8 +34,6 @@ from pysollib.resource import CSI from pysollib.ui.tktile.selecttree import SelectDialogTreeData from pysollib.ui.tktile.tkutil import bind, unbind_destroy -from six.moves import tkinter_ttk as ttk - from .selecttree import SelectDialogTreeCanvas from .selecttree import SelectDialogTreeLeaf, SelectDialogTreeNode from .tkwidget import MfxDialog, MfxScrolledCanvas, PysolCombo diff --git a/pysollib/tile/selecttile.py b/pysollib/tile/selecttile.py index 56e77906..fca9b27c 100644 --- a/pysollib/tile/selecttile.py +++ b/pysollib/tile/selecttile.py @@ -23,6 +23,8 @@ import os import tkinter +import tkinter.colorchooser +import tkinter.ttk as ttk from pysollib.mfxutil import KwStruct, USE_PIL from pysollib.mygettext import _ @@ -30,9 +32,6 @@ from pysollib.resource import TTI from pysollib.ui.tktile.selecttree import SelectDialogTreeData from pysollib.ui.tktile.tkutil import bind -from six.moves import tkinter_colorchooser -from six.moves import tkinter_ttk as ttk - from .selecttree import SelectDialogTreeCanvas from .selecttree import SelectDialogTreeLeaf, SelectDialogTreeNode from .tkwidget import MfxDialog, MfxScrolledCanvas, PysolCombo @@ -282,7 +281,7 @@ class SelectTileDialogWithPreview(MfxDialog): self.tree.n_expansions = 1 # save xyview in any case if button == 10: # "Solid color..." try: - c = tkinter_colorchooser.askcolor( + c = tkinter.colorchooser.askcolor( master=self.top, initialcolor=self.table_color, title=_("Select table color")) diff --git a/pysollib/tile/soundoptionsdialog.py b/pysollib/tile/soundoptionsdialog.py index ed7390eb..55bc3a88 100644 --- a/pysollib/tile/soundoptionsdialog.py +++ b/pysollib/tile/soundoptionsdialog.py @@ -23,6 +23,7 @@ import os import tkinter +import tkinter.ttk as ttk from pysollib.mfxutil import KwStruct from pysollib.mygettext import _ @@ -30,8 +31,6 @@ from pysollib.pysolaudio import pysolsoundserver from pysollib.settings import TITLE from pysollib.ui.tktile.tkconst import EVENT_HANDLED -from six.moves import tkinter_ttk as ttk - from .tkwidget import MfxDialog, MfxMessageDialog from .tkwidget import PysolScale diff --git a/pysollib/tile/statusbar.py b/pysollib/tile/statusbar.py index c2363217..51636a9e 100644 --- a/pysollib/tile/statusbar.py +++ b/pysollib/tile/statusbar.py @@ -25,11 +25,10 @@ import os import sys import tkinter +import tkinter.ttk as ttk from pysollib.mygettext import _ -from six.moves import tkinter_ttk as ttk - from .tkwidget import MfxTooltip if __name__ == '__main__': diff --git a/pysollib/tile/timeoutsdialog.py b/pysollib/tile/timeoutsdialog.py index c4fafd5a..85aad4d7 100644 --- a/pysollib/tile/timeoutsdialog.py +++ b/pysollib/tile/timeoutsdialog.py @@ -22,12 +22,11 @@ # ---------------------------------------------------------------------------## import tkinter +import tkinter.ttk as ttk from pysollib.mfxutil import KwStruct from pysollib.mygettext import _ -from six.moves import tkinter_ttk as ttk - from .tkwidget import MfxDialog, PysolScale diff --git a/pysollib/tile/tkhtml.py b/pysollib/tile/tkhtml.py index 0e2c357b..e3791505 100644 --- a/pysollib/tile/tkhtml.py +++ b/pysollib/tile/tkhtml.py @@ -24,13 +24,12 @@ import os import sys import tkinter +import tkinter.ttk as ttk from pysollib.mfxutil import Struct from pysollib.mygettext import _ from pysollib.ui.tktile.tkhtml import Base_HTMLViewer -from six.moves import tkinter_ttk as ttk - from .statusbar import HtmlStatusbar from .tkwidget import MfxMessageDialog diff --git a/pysollib/tile/tkstats.py b/pysollib/tile/tkstats.py index 8d596520..aa163a55 100644 --- a/pysollib/tile/tkstats.py +++ b/pysollib/tile/tkstats.py @@ -24,6 +24,8 @@ import os import time import tkinter +import tkinter.font +import tkinter.ttk as ttk from pysollib.mfxutil import KwStruct from pysollib.mfxutil import format_time @@ -32,9 +34,6 @@ from pysollib.settings import TOP_TITLE from pysollib.stats import ProgressionFormatter, PysolStatsFormatter from pysollib.ui.tktile.tkutil import bind, loadImage -from six.moves import tkinter_font -from six.moves import tkinter_ttk as ttk - from .tkwidget import MfxDialog, MfxMessageDialog @@ -54,11 +53,11 @@ class StatsDialog(MfxDialog): MfxDialog.__init__(self, parent, title, kw.resizable, kw.default) self.font = app.getFont('default') - self.tkfont = tkinter_font.Font(parent, self.font) + self.tkfont = tkinter.font.Font(parent, self.font) self.font_metrics = self.tkfont.metrics() style = ttk.Style(parent) heading_font = style.lookup('Heading', 'font') # treeview heading - self.heading_tkfont = tkinter_font.Font(parent, heading_font) + self.heading_tkfont = tkinter.font.Font(parent, heading_font) self.selected_game = None @@ -502,10 +501,10 @@ class LogDialog(MfxDialog): def __init__(self, parent, title, app, player, **kw): self.font = app.getFont('default') - self.tkfont = tkinter_font.Font(parent, self.font) + self.tkfont = tkinter.font.Font(parent, self.font) style = ttk.Style(parent) heading_font = style.lookup('Heading', 'font') # treeview heading - self.heading_tkfont = tkinter_font.Font(parent, heading_font) + self.heading_tkfont = tkinter.font.Font(parent, heading_font) self.font_metrics = self.tkfont.metrics() self.CHAR_H = self.font_metrics['linespace'] diff --git a/pysollib/tile/tkwidget.py b/pysollib/tile/tkwidget.py index 1e990cac..c8cb6f3a 100644 --- a/pysollib/tile/tkwidget.py +++ b/pysollib/tile/tkwidget.py @@ -25,6 +25,8 @@ import locale import os import time import tkinter +import tkinter.font +import tkinter.ttk as ttk import traceback from pysollib.mfxutil import KwStruct, destruct, kwdefault, openURL @@ -35,9 +37,6 @@ from pysollib.ui.tktile.tkutil import after, after_cancel from pysollib.ui.tktile.tkutil import bind, unbind_destroy from pysollib.ui.tktile.tkutil import makeToplevel, setTransient -from six.moves import tkinter_font -from six.moves import tkinter_ttk as ttk - # ************************************************************************ # * abstract base class for the dialogs in this module # ************************************************************************ @@ -313,7 +312,7 @@ class PysolAboutDialog(MfxMessageDialog): # font_name = msg.lookup('TLabel', 'font') font_name = 'TkDefaultFont' - font = tkinter_font.Font(parent, name=font_name, exists=True) + font = tkinter.font.Font(parent, name=font_name, exists=True) font = font.copy() font.configure(underline=True) url_label = ttk.Label(frame, text=kw.url, font=font, diff --git a/pysollib/tile/toolbar.py b/pysollib/tile/toolbar.py index 12520d83..a240a8f0 100644 --- a/pysollib/tile/toolbar.py +++ b/pysollib/tile/toolbar.py @@ -23,6 +23,7 @@ import os import tkinter +import tkinter.ttk as ttk from pysollib.mfxutil import Image, ImageOps, ImageTk from pysollib.mygettext import _, n_ @@ -33,8 +34,6 @@ from pysollib.ui.tktile.tkutil import loadImage from pysollib.util import IMAGE_EXTENSIONS from pysollib.winsystems import TkSettings -from six.moves import tkinter_ttk as ttk - from .tkwidget import MfxTooltip diff --git a/pysollib/tile/wizarddialog.py b/pysollib/tile/wizarddialog.py index 534f7b88..fda7dc8f 100644 --- a/pysollib/tile/wizarddialog.py +++ b/pysollib/tile/wizarddialog.py @@ -22,14 +22,13 @@ # --------------------------------------------------------------------------- import tkinter +import tkinter.ttk as ttk from pysollib.mfxutil import KwStruct from pysollib.mygettext import _ from pysollib.wizardpresets import presets from pysollib.wizardutil import WizardWidgets -from six.moves import tkinter_ttk as ttk - from .tkwidget import MfxDialog from .tkwidget import PysolCombo, PysolScale diff --git a/pysollib/tk/fontsdialog.py b/pysollib/tk/fontsdialog.py index 8347e653..b6013bc8 100644 --- a/pysollib/tk/fontsdialog.py +++ b/pysollib/tk/fontsdialog.py @@ -22,14 +22,13 @@ # ---------------------------------------------------------------------------## import tkinter +import tkinter.font from pysollib.mfxutil import KwStruct from pysollib.mygettext import _ from pysollib.tk.tkwidget import MfxDialog from pysollib.ui.tktile.tkutil import bind -from six.moves import tkinter_font - class FontChooserDialog(MfxDialog): def __init__(self, parent, title, init_font, **kw): @@ -101,7 +100,7 @@ class FontChooserDialog(MfxDialog): self.size_var.set(self.font_size) self.weight_var.set(self.font_weight == 'bold') self.slant_var.set(self.font_slant == 'italic') - font_families = list(tkinter_font.families()) + font_families = list(tkinter.font.families()) font_families.sort() selected = -1 n = 0 diff --git a/pysollib/tk/selecttile.py b/pysollib/tk/selecttile.py index cb447213..e754daa2 100644 --- a/pysollib/tk/selecttile.py +++ b/pysollib/tk/selecttile.py @@ -22,13 +22,12 @@ # ---------------------------------------------------------------------------## import tkinter +import tkinter.colorchooser from pysollib.mfxutil import KwStruct from pysollib.mygettext import _ from pysollib.ui.tktile.selecttree import SelectDialogTreeData -from six.moves import tkinter_colorchooser - from .selecttree import SelectDialogTreeCanvas from .selecttree import SelectDialogTreeLeaf, SelectDialogTreeNode from .tkwidget import MfxDialog, MfxScrolledCanvas @@ -176,7 +175,7 @@ class SelectTileDialogWithPreview(MfxDialog): self.tree.n_expansions = 1 # save xyview in any case if button == 1: # "Solid color..." try: - c = tkinter_colorchooser.askcolor( + c = tkinter.colorchooser.askcolor( master=self.top, initialcolor=self.table_color, title=_("Select table color")) diff --git a/pysollib/tk/tkstats.py b/pysollib/tk/tkstats.py index 509a7430..3f11c58a 100644 --- a/pysollib/tk/tkstats.py +++ b/pysollib/tk/tkstats.py @@ -24,6 +24,7 @@ import os import time import tkinter +import tkinter.font from pysollib.mfxutil import KwStruct, kwdefault from pysollib.mfxutil import format_time @@ -32,8 +33,6 @@ from pysollib.settings import TOP_TITLE from pysollib.stats import ProgressionFormatter, PysolStatsFormatter from pysollib.ui.tktile.tkutil import bind, loadImage -from six.moves import tkinter_font - from .tkwidget import MfxDialog, MfxMessageDialog from .tkwidget import MfxScrolledCanvas @@ -63,7 +62,7 @@ class SingleGame_StatsDialog(MfxDialog): # createChart = self.createSimpleChart # self.font = self.app.getFont("default") - self.tk_font = tkinter_font.Font(self.top, self.font) + self.tk_font = tkinter.font.Font(self.top, self.font) self.font_metrics = self.tk_font.metrics() self._calc_tabs() # @@ -313,7 +312,7 @@ class CanvasFormatter(PysolStatsFormatter): tw = 15*self.w # tw = 160 self._tabs = [tw] - font = tkinter_font.Font(self.canvas, self.font) + font = tkinter.font.Font(self.canvas, self.font) for t in arg[1:]: tw = font.measure(t)+20 self._tabs.append(tw) @@ -460,7 +459,7 @@ class AllGames_StatsDialog(MfxDialog): # lines = 20 # self.font = app.getFont(self.FONT_TYPE) - font = tkinter_font.Font(parent, self.font) + font = tkinter.font.Font(parent, self.font) self.font_metrics = font.metrics() self.CHAR_H = self.font_metrics['linespace'] self.CHAR_W = font.measure('M') @@ -816,8 +815,8 @@ class ProgressionDialog(MfxDialog): def __init__(self, parent, title, app, player, gameid, **kw): font_name = app.getFont('default') - font = tkinter_font.Font(parent, font_name) - tkfont = tkinter_font.Font(parent, font) + font = tkinter.font.Font(parent, font_name) + tkfont = tkinter.font.Font(parent, font) font_metrics = font.metrics() measure = tkfont.measure self.text_height = font_metrics['linespace'] diff --git a/pysollib/tk/tkwidget.py b/pysollib/tk/tkwidget.py index dd63bb0c..1380546e 100644 --- a/pysollib/tk/tkwidget.py +++ b/pysollib/tk/tkwidget.py @@ -23,6 +23,7 @@ import time import tkinter +import tkinter.font import traceback from pysollib.mfxutil import KwStruct, destruct, kwdefault, openURL @@ -33,8 +34,6 @@ from pysollib.ui.tktile.tkutil import after, after_cancel from pysollib.ui.tktile.tkutil import bind, unbind_destroy from pysollib.ui.tktile.tkutil import makeToplevel, setTransient -from six.moves import tkinter_font - # ************************************************************************ # * abstract base class for the dialogs in this module # ************************************************************************ @@ -307,7 +306,7 @@ class PysolAboutDialog(MfxMessageDialog): width=kw.width) msg.pack(fill='both', expand=True) - font = tkinter_font.Font(parent, app.getFont('default')) + font = tkinter.font.Font(parent, app.getFont('default')) font.configure(underline=True) url_label = tkinter.Label(frame, text=kw.url, font=font, foreground='blue', cursor='hand2') diff --git a/pysollib/ui/tktile/colorsdialog.py b/pysollib/ui/tktile/colorsdialog.py index 0a7ebf3c..a280a881 100644 --- a/pysollib/ui/tktile/colorsdialog.py +++ b/pysollib/ui/tktile/colorsdialog.py @@ -22,12 +22,11 @@ # --------------------------------------------------------------------------- import tkinter +from tkinter.colorchooser import askcolor from pysollib.mfxutil import KwStruct from pysollib.mygettext import _ -from six.moves.tkinter_colorchooser import askcolor - class BaseColorsDialog: def _calcFrame(self): diff --git a/pysollib/ui/tktile/menubar.py b/pysollib/ui/tktile/menubar.py index d10f2a1c..a8bc22a8 100644 --- a/pysollib/ui/tktile/menubar.py +++ b/pysollib/ui/tktile/menubar.py @@ -4,6 +4,7 @@ import platform import re import sys import tkinter +import tkinter.filedialog from pysollib.gamedb import GI from pysollib.hint import PySolHintLayoutImportError @@ -18,8 +19,6 @@ from pysollib.ui.tktile.tkconst import EVENT_PROPAGATE from pysollib.ui.tktile.tkconst import STATUSBAR_ITEMS, TOOLBAR_BUTTONS from pysollib.ui.tktile.tkutil import after_idle, bind -from six.moves import tkinter_tkfiledialog - def createToolbarMenu(menubar, menu): tearoff = menu.cget('tearoff') @@ -1440,7 +1439,7 @@ class PysolMenubarTkCommon: idir, ifile = "", "" if not idir: idir = self.app.dn.savegames - d = tkinter_tkfiledialog.Open() + d = tkinter.filedialog.Open() filename = d.show(filetypes=self.FILETYPES, defaultextension=self.DEFAULTEXTENSION, initialdir=idir, initialfile=ifile) @@ -1477,7 +1476,7 @@ Unsupported game for export. if not idir: idir = self.app.dn.boards # print self.game.filename, ifile - d = tkinter_tkfiledialog.SaveAs() + d = tkinter.filedialog.SaveAs() filename = d.show(filetypes=self.FILETYPES, defaultextension=self.DEFAULTEXTENSION, initialdir=idir, initialfile=ifile) @@ -1509,7 +1508,7 @@ Unsupported game for import. idir, ifile = "", "" if not idir: idir = self.app.dn.boards - d = tkinter_tkfiledialog.Open() + d = tkinter.filedialog.Open() key = 'PYSOL_DEBUG_IMPORT' if key not in os.environ: filename = d.show(filetypes=self.FILETYPES, @@ -1556,7 +1555,7 @@ Unsupported game for import. if not idir: idir = self.app.dn.savegames # print self.game.filename, ifile - d = tkinter_tkfiledialog.SaveAs() + d = tkinter.filedialog.SaveAs() filename = d.show(filetypes=self.FILETYPES, defaultextension=self.DEFAULTEXTENSION, initialdir=idir, initialfile=ifile) diff --git a/pysollib/ui/tktile/selecttree.py b/pysollib/ui/tktile/selecttree.py index 1b63445d..57713934 100644 --- a/pysollib/ui/tktile/selecttree.py +++ b/pysollib/ui/tktile/selecttree.py @@ -26,7 +26,7 @@ # ************************************************************************ # imports -from six.moves import tkinter_font +import tkinter.font class BaseSelectDialogTreeLeaf: @@ -111,7 +111,7 @@ class BaseSelectDialogTreeCanvas: self.style.height = 14 # height of symbol if font: self.style.font = font - f = tkinter_font.Font(parent, font) + f = tkinter.font.Font(parent, font) h = f.metrics()["linespace"] self.style.disty = max(self.style.width, h) diff --git a/pysollib/ui/tktile/tkutil.py b/pysollib/ui/tktile/tkutil.py index c93cdb43..edda18e4 100644 --- a/pysollib/ui/tktile/tkutil.py +++ b/pysollib/ui/tktile/tkutil.py @@ -24,13 +24,12 @@ import os import re import tkinter +import tkinter.font from pysollib.mfxutil import Image, ImageDraw, ImageOps, ImageTk, \ get_default_resampling from pysollib.settings import TITLE, WIN_SYSTEM -from six.moves import tkinter_font - # ************************************************************************ # * window manager util @@ -498,4 +497,4 @@ def resizeBottom(image, maskimage, color='white', backfile=None): # ************************************************************************ def get_text_width(text, font, root=None): - return tkinter_font.Font(root=root, font=font).measure(text) + return tkinter.font.Font(root=root, font=font).measure(text) diff --git a/pysollib/winsystems/common.py b/pysollib/winsystems/common.py index 606d1d96..bc440d93 100644 --- a/pysollib/winsystems/common.py +++ b/pysollib/winsystems/common.py @@ -34,7 +34,7 @@ from pysollib.settings import VERSION if TOOLKIT == 'tk': from pysollib.ui.tktile.tkutil import loadImage if USE_TILE: - from six.moves import tkinter_ttk as ttk + import tkinter.ttk as ttk def init_tile(app, top): @@ -74,7 +74,7 @@ def get_font_name(font): if (TOOLKIT == 'kivy'): return "helvetica 12" - from six.moves.tkinter_font import Font + from tkinter.font import Font font_name = None try: f = Font(font=font) diff --git a/pysollib/winsystems/win32.py b/pysollib/winsystems/win32.py index d3f75c7d..138f7816 100644 --- a/pysollib/winsystems/win32.py +++ b/pysollib/winsystems/win32.py @@ -25,7 +25,7 @@ from pysollib.settings import TOOLKIT, USE_TILE from pysollib.winsystems.common import BaseTkSettings, base_init_root_window if USE_TILE: - from six.moves import tkinter_ttk as ttk + import tkinter.ttk as ttk def init_root_window(root, app): diff --git a/pysollib/winsystems/x11.py b/pysollib/winsystems/x11.py index 33337b24..2b66f06d 100644 --- a/pysollib/winsystems/x11.py +++ b/pysollib/winsystems/x11.py @@ -33,7 +33,7 @@ from pysollib.winsystems.common import \ if TOOLKIT == 'tk': if USE_TILE: - from six.moves import tkinter_ttk as ttk + import tkinter.ttk as ttk # ************************************************************************ @@ -71,10 +71,10 @@ def init_root_window(root, app): except Exception: traceback.print_exc() else: - from six.moves import tkinter_tkfiledialog - tkinter_tkfiledialog.Open.command = 'ttk::getOpenFile' - tkinter_tkfiledialog.SaveAs.command = 'ttk::getSaveFile' - tkinter_tkfiledialog.Directory.command = 'ttk::chooseDirectory' + import tkinter.filedialog + tkinter.filedialog.Open.command = 'ttk::getOpenFile' + tkinter.filedialog.SaveAs.command = 'ttk::getSaveFile' + tkinter.filedialog.Directory.command = 'ttk::chooseDirectory' style = ttk.Style(root) color = style.lookup('.', 'background') diff --git a/scripts/cardset_viewer.py b/scripts/cardset_viewer.py index a669cfa5..793d9ffe 100755 --- a/scripts/cardset_viewer.py +++ b/scripts/cardset_viewer.py @@ -9,12 +9,11 @@ import os import tkinter +import tkinter.filedialog from glob import glob from PIL import Image, ImageTk -from six.moves import tkinter_tkfiledialog as filedialog # messagebox - cardset_type = { '1': 'French', @@ -175,7 +174,7 @@ def on_mousewheel(event): def select_dir(): global data_dir - dialog = filedialog.Directory(root) + dialog = tkinter.filedialog.Directory(root) directory = dialog.show() if directory: data_dir = os.path.normpath(directory) diff --git a/setup.py b/setup.py index d46f4128..d6fdbb12 100644 --- a/setup.py +++ b/setup.py @@ -78,7 +78,6 @@ kw = { 'attrs>=18.2.0', 'configobj', 'pysol_cards', - 'six', ], 'long_description': long_description, 'license': 'GPL',