Make the Pynche tool work with Python 3.

This commit is contained in:
Georg Brandl 2010-08-02 22:08:58 +00:00
parent 1800934285
commit bf76ce168c
8 changed files with 32 additions and 28 deletions

View File

@ -13,7 +13,7 @@ The ChipViewer class includes the entire lower left quandrant; i.e. both the
selected and nearest ChipWidgets. selected and nearest ChipWidgets.
""" """
from Tkinter import * from tkinter import *
import ColorDB import ColorDB

View File

@ -52,7 +52,7 @@ Shift + Left == -25
Shift + Right == +25 Shift + Right == +25
""" """
from Tkinter import * from tkinter import *
STOP = 'Stop' STOP = 'Stop'
WRAP = 'Wrap Around' WRAP = 'Wrap Around'

View File

@ -15,7 +15,7 @@ You can turn off Update On Click if all you want to see is the alias for a
given name, without selecting the color. given name, without selecting the color.
""" """
from Tkinter import * from tkinter import *
import ColorDB import ColorDB
ADDTOVIEW = 'Color %List Window...' ADDTOVIEW = 'Color %List Window...'

View File

@ -6,9 +6,8 @@ It is used to bring up other windows.
import sys import sys
import os import os
from Tkinter import * from tkinter import *
import tkMessageBox from tkinter import messagebox, filedialog
import tkFileDialog
import ColorDB import ColorDB
# Milliseconds between interrupt checks # Milliseconds between interrupt checks
@ -150,7 +149,7 @@ class PyncheWidget:
def __popup_about(self, event=None): def __popup_about(self, event=None):
from Main import __version__ from Main import __version__
tkMessageBox.showinfo('About Pynche ' + __version__, messagebox.showinfo('About Pynche ' + __version__,
'''\ '''\
Pynche %s Pynche %s
The PYthonically Natural The PYthonically Natural
@ -168,7 +167,7 @@ email: bwarsaw@python.org''' % __version__)
def __load(self, event=None): def __load(self, event=None):
while 1: while 1:
idir, ifile = os.path.split(self.__sb.colordb().filename()) idir, ifile = os.path.split(self.__sb.colordb().filename())
file = tkFileDialog.askopenfilename( file = filedialog.askopenfilename(
filetypes=[('Text files', '*.txt'), filetypes=[('Text files', '*.txt'),
('All files', '*'), ('All files', '*'),
], ],
@ -180,12 +179,12 @@ email: bwarsaw@python.org''' % __version__)
try: try:
colordb = ColorDB.get_colordb(file) colordb = ColorDB.get_colordb(file)
except IOError: except IOError:
tkMessageBox.showerror('Read error', '''\ messagebox.showerror('Read error', '''\
Could not open file for reading: Could not open file for reading:
%s''' % file) %s''' % file)
continue continue
if colordb is None: if colordb is None:
tkMessageBox.showerror('Unrecognized color file type', '''\ messagebox.showerror('Unrecognized color file type', '''\
Unrecognized color file type in file: Unrecognized color file type in file:
%s''' % file) %s''' % file)
continue continue
@ -249,6 +248,8 @@ class Helpwin:
import functools
@functools.total_ordering
class PopupViewer: class PopupViewer:
def __init__(self, module, name, switchboard, root): def __init__(self, module, name, switchboard, root):
self.__m = module self.__m = module
@ -279,8 +280,11 @@ class PopupViewer:
self.__sb.add_view(self.__window) self.__sb.add_view(self.__window)
self.__window.deiconify() self.__window.deiconify()
def __cmp__(self, other): def __eq__(self, other):
return cmp(self.__menutext, other.__menutext) return self.__menutext == other.__menutext
def __lt__(self, other):
return self.__menutext < other.__menutext
def make_view_popups(switchboard, root, extrapath): def make_view_popups(switchboard, root, extrapath):

View File

@ -24,7 +24,7 @@ select the color under the cursor while you drag it, but be forewarned that
this can be slow. this can be slow.
""" """
from Tkinter import * from tkinter import *
import ColorDB import ColorDB
# Load this script into the Tcl interpreter and call it in # Load this script into the Tcl interpreter and call it in
@ -62,32 +62,32 @@ def constant(numchips):
# red variations, green+blue = cyan constant # red variations, green+blue = cyan constant
def constant_red_generator(numchips, red, green, blue): def constant_red_generator(numchips, red, green, blue):
seq = constant(numchips) seq = constant(numchips)
return list(map(None, [red] * numchips, seq, seq)) return list(zip([red] * numchips, seq, seq))
# green variations, red+blue = magenta constant # green variations, red+blue = magenta constant
def constant_green_generator(numchips, red, green, blue): def constant_green_generator(numchips, red, green, blue):
seq = constant(numchips) seq = constant(numchips)
return list(map(None, seq, [green] * numchips, seq)) return list(zip(seq, [green] * numchips, seq))
# blue variations, red+green = yellow constant # blue variations, red+green = yellow constant
def constant_blue_generator(numchips, red, green, blue): def constant_blue_generator(numchips, red, green, blue):
seq = constant(numchips) seq = constant(numchips)
return list(map(None, seq, seq, [blue] * numchips)) return list(zip(seq, seq, [blue] * numchips))
# red variations, green+blue = cyan constant # red variations, green+blue = cyan constant
def constant_cyan_generator(numchips, red, green, blue): def constant_cyan_generator(numchips, red, green, blue):
seq = constant(numchips) seq = constant(numchips)
return list(map(None, seq, [green] * numchips, [blue] * numchips)) return list(zip(seq, [green] * numchips, [blue] * numchips))
# green variations, red+blue = magenta constant # green variations, red+blue = magenta constant
def constant_magenta_generator(numchips, red, green, blue): def constant_magenta_generator(numchips, red, green, blue):
seq = constant(numchips) seq = constant(numchips)
return list(map(None, [red] * numchips, seq, [blue] * numchips)) return list(zip([red] * numchips, seq, [blue] * numchips))
# blue variations, red+green = yellow constant # blue variations, red+green = yellow constant
def constant_yellow_generator(numchips, red, green, blue): def constant_yellow_generator(numchips, red, green, blue):
seq = constant(numchips) seq = constant(numchips)
return list(map(None, [red] * numchips, [green] * numchips, seq)) return list(zip([red] * numchips, [green] * numchips, seq))
@ -119,7 +119,7 @@ class LeftArrow:
return arrow, text return arrow, text
def _x(self): def _x(self):
coords = self._canvas.coords(self._TAG) coords = list(self._canvas.coords(self._TAG))
assert coords assert coords
return coords[0] return coords[0]
@ -151,7 +151,7 @@ class RightArrow(LeftArrow):
return arrow, text return arrow, text
def _x(self): def _x(self):
coords = self._canvas.coords(self._TAG) coords = list(self._canvas.coords(self._TAG))
assert coords assert coords
return coords[0] + self._ARROWWIDTH return coords[0] + self._ARROWWIDTH

View File

@ -42,7 +42,6 @@ master window.
""" """
import sys import sys
from types import DictType
import marshal import marshal
@ -62,10 +61,11 @@ class Switchboard:
if initfile: if initfile:
try: try:
try: try:
fp = open(initfile) fp = open(initfile, 'rb')
self.__optiondb = marshal.load(fp) self.__optiondb = marshal.load(fp)
if not isinstance(self.__optiondb, DictType): if not isinstance(self.__optiondb, dict):
print('Problem reading options from file:', initfile, file=sys.stderr) print('Problem reading options from file:', initfile,
file=sys.stderr)
self.__optiondb = {} self.__optiondb = {}
except (IOError, EOFError, ValueError): except (IOError, EOFError, ValueError):
pass pass
@ -116,7 +116,7 @@ class Switchboard:
fp = None fp = None
try: try:
try: try:
fp = open(self.__initfile, 'w') fp = open(self.__initfile, 'wb')
except IOError: except IOError:
print('Cannot write options to file:', \ print('Cannot write options to file:', \
self.__initfile, file=sys.stderr) self.__initfile, file=sys.stderr)

View File

@ -15,7 +15,7 @@ button and drag it through some text. The Insertion is the insertion cursor
in the text window (which only has a background). in the text window (which only has a background).
""" """
from Tkinter import * from tkinter import *
import ColorDB import ColorDB
ADDTOVIEW = 'Text Window...' ADDTOVIEW = 'Text Window...'

View File

@ -12,7 +12,7 @@ color selection will be made on every change to the text field. Otherwise,
you must hit Return or Tab to select the color. you must hit Return or Tab to select the color.
""" """
from Tkinter import * from tkinter import *