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 @@
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 + 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 @@
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 @@
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 @@ def window(self):
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 @@ def __popup_usage(self, event=None):
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 @@ def __load(self, event=None):
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 @@ def deiconify(self):
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 @@ def popup(self, event=None):
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 @@
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 @@ def _create(self, x):
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 @@ def _create(self, x):
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 @@
""" """
import sys import sys
from types import DictType
import marshal import marshal
@ -62,10 +61,11 @@ def __init__(self, initfile):
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 @@ def save_views(self):
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 @@
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 @@
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 *