* Package: dev-python/pmw-2.0.1 * Repository: gentoo * Maintainer: python@gentoo.org * USE: abi_x86_64 amd64 elibc_glibc kernel_linux python_targets_python3_3 userland_GNU * FEATURES: preserve-libs sandbox userpriv usersandbox >>> Unpacking source... >>> Unpacking Pmw-2.0.1.tar.gz to /var/tmp/portage/dev-python/pmw-2.0.1/work >>> Source unpacked in /var/tmp/portage/dev-python/pmw-2.0.1/work >>> Preparing source in /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1 ... * Will copy sources from /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1 * python3_3: copying to /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3 * python3_3: running distutils-r1_run_phase python_prepare RefactoringTool: Skipping implicit fixer: buffer RefactoringTool: Skipping implicit fixer: idioms RefactoringTool: Skipping implicit fixer: set_literal RefactoringTool: Skipping implicit fixer: ws_comma RefactoringTool: No changes to Pmw/__init__.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/bin/bundlepmw.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/contrib/DirBrowser.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/contrib/MCListbox.py --- Pmw/Pmw_1_3_3/bin/bundlepmw.py (original) +++ Pmw/Pmw_1_3_3/bin/bundlepmw.py (refactored) @@ -126,13 +126,13 @@ needColor = 0 if len(sys.argv) != 2: - print 'usage: bundlepmw.py [-noblt] [-nocolor] /path/to/Pmw/Pmw_X_X_X/lib' + print('usage: bundlepmw.py [-noblt] [-nocolor] /path/to/Pmw/Pmw_X_X_X/lib') sys.exit() srcdir = sys.argv[1] if os.path.exists('Pmw.py'): - print 'Pmw.py already exists. Remove it and try again.' + print('Pmw.py already exists. Remove it and try again.') sys.exit() outfile = open('Pmw.py', 'w') @@ -158,12 +158,12 @@ text = mungeFile(file) outfile.write(text) -print '' -print ' Pmw.py has been created.' +print('') +print(' Pmw.py has been created.') if needColor or needBlt: - print ' Before running freeze, also copy the following file(s):' + print(' Before running freeze, also copy the following file(s):') if needBlt: - print ' ' + os.path.join(srcdir, 'PmwBlt.py') + print(' ' + os.path.join(srcdir, 'PmwBlt.py')) if needColor: - print ' ' + os.path.join(srcdir, 'PmwColor.py') + print(' ' + os.path.join(srcdir, 'PmwColor.py')) --- Pmw/Pmw_1_3_3/contrib/DirBrowser.py (original) +++ Pmw/Pmw_1_3_3/contrib/DirBrowser.py (refactored) @@ -31,7 +31,7 @@ import os -import Tkinter +import tkinter import Pmw @@ -58,7 +58,7 @@ interior = self.interior() self.childframe = self.createcomponent('childframe', (), None, - Tkinter.Frame, + tkinter.Frame, (interior,), borderwidth = 1, relief = 'raised', @@ -68,7 +68,7 @@ ) self.labelframe = self.createcomponent('labelframe', (), None, - Tkinter.Frame, + tkinter.Frame, (self.childframe,), borderwidth = 2, relief = 'groove', @@ -77,7 +77,7 @@ if self['label']: self.label = self.createcomponent('label', (), None, - Tkinter.Label, + tkinter.Label, (self.childframe,), text = self['label'], ) @@ -85,7 +85,7 @@ self.workframe = self.createcomponent('workframe', (), None, - Tkinter.Frame, + tkinter.Frame, (self.labelframe,), #borderwidth = 2, #relief = 'groove', @@ -97,7 +97,7 @@ ) self.buttonframe = self.createcomponent('buttonframe', (), None, - Tkinter.Frame, + tkinter.Frame, (interior,), borderwidth = 1, relief = 'raised', @@ -279,7 +279,7 @@ if __name__ == '__main__': - rootWin = Tkinter.Tk() + rootWin = tkinter.Tk() Pmw.initialise() @@ -295,12 +295,12 @@ #hidedotfiles = 0, ) dir = dirBrowserDialog.activate() - print 'Selected Directory:', dir - - dirButton = Tkinter.Button(rootWin, text="Browser", command=buildBrowser) + print('Selected Directory:', dir) + + dirButton = tkinter.Button(rootWin, text="Browser", command=buildBrowser) dirButton.pack(side = 'left', padx = 10, pady = 10) - exitButton = Tkinter.Button(rootWin, text="Quit", command=rootWin.quit) + exitButton = tkinter.Button(rootWin, text="Quit", command=rootWin.quit) exitButton.pack(side = 'left', padx = 10, pady = 10) rootWin.mainloop() --- Pmw/Pmw_1_3_3/contrib/MCListbox.py (original) +++ Pmw/Pmw_1_3_3/contrib/MCListbox.py (refactored) @@ -27,8 +27,9 @@ # import string -import Tkinter +import tkinter import Pmw +import collections class MultiColumnListbox(Pmw.MegaWidget): def __init__(self, parent = None, **kw): @@ -80,7 +81,7 @@ # Create a frame widget to act as the border of the clipper. self._borderframe = self.createcomponent('borderframe', (), None, - Tkinter.Frame, + tkinter.Frame, (self.origInterior,), relief = 'sunken', borderwidth = 2, @@ -91,7 +92,7 @@ # Create the clipping windows. self._hclipper = self.createcomponent('hclipper', (), None, - Tkinter.Frame, + tkinter.Frame, (self._borderframe,), width = 400, height = 300, @@ -99,14 +100,14 @@ self._hclipper.pack(fill = 'both', expand = 1) self._hsframe = self.createcomponent('hsframe', (), None, - Tkinter.Frame, + tkinter.Frame, (self._hclipper,), ) self._vclipper = self.createcomponent('vclipper', (), None, - Tkinter.Frame, + tkinter.Frame, (self._hsframe,), #width = 400, #height = 300, @@ -123,13 +124,13 @@ gridcolumn = 0 for labeltext in self._columnlabels: lframe = self.createcomponent(labeltext+'frame', (), None, - Tkinter.Frame, + tkinter.Frame, (self._hsframe,), borderwidth = 1, relief = 'raised', ) label = self.createcomponent(labeltext, (), None, - Tkinter.Label, + tkinter.Label, (lframe,), text = labeltext, ) @@ -151,7 +152,7 @@ # Create the horizontal scrollbar self._horizScrollbar = self.createcomponent('horizscrollbar', (), 'Scrollbar', - Tkinter.Scrollbar, + tkinter.Scrollbar, (self.origInterior,), orient='horizontal', command=self._xview @@ -160,7 +161,7 @@ # Create the vertical scrollbar self._vertScrollbar = self.createcomponent('vertscrollbar', (), 'Scrollbar', - Tkinter.Scrollbar,RefactoringTool: Refactored Pmw/Pmw_1_3_3/contrib/PmwFileDialog.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/contrib/PmwFullTimeCounter.py + tkinter.Scrollbar, (self.origInterior,), #(self._hclipper,), orient='vertical', @@ -184,7 +185,7 @@ # scrolled. self._vsframe = self.createcomponent('vsframe', (), None, - Tkinter.Frame, + tkinter.Frame, (self._vclipper,), #height = 300, #borderwidth = 4, @@ -237,7 +238,7 @@ cellframe = self.createcomponent(('cellframeid.%d.%s'%(self._lineid, columnlabel)), (), ('Cellframerowid.%d'%self._lineid), - Tkinter.Frame, + tkinter.Frame, (self._vsframe,), background = self['background'], #borderwidth = 1, @@ -251,7 +252,7 @@ cell = self.createcomponent(('cellid.%d.%s'%(self._lineid, columnlabel)), (), ('Cellrowid.%d'%self._lineid), - Tkinter.Label, + tkinter.Label, (cellframe,), background = self['background'], foreground = self['foreground'], @@ -335,7 +336,7 @@ self._toggleHorizScrollbar() else: message = 'bad hscrollmode option "%s": should be static, dynamic, or none' % mode - raise ValueError, message + raise ValueError(message) def _vscrollMode(self): # The vertical scroll mode has been configured. @@ -353,7 +354,7 @@ self._toggleVertScrollbar() else: message = 'bad vscrollmode option "%s": should be static, dynamic, or none' % mode - raise ValueError, message + raise ValueError(message) def _horizflex(self): # The horizontal flex mode has been configured. @@ -363,7 +364,7 @@ if flex not in self._flexoptions: message = 'bad horizflex option "%s": should be one of %s' % \ mode, str(self._flexoptions) - raise ValueError, message + raise ValueError(message) self.reposition() @@ -375,7 +376,7 @@ if flex not in self._flexoptions: message = 'bad vertflex option "%s": should be one of %s' % \ mode, str(self._flexoptions) - raise ValueError, message + raise ValueError(message) self.reposition() @@ -636,11 +637,11 @@ cfg['Cellframerowid.%d_background'%lineid] = self['background'] #cfg['Cellframerowid%d_relief'%cursel] = 'flat' - apply(self.configure, (), cfg) + self.configure(*(), **cfg) self._cursel = [row] cmd = self['command'] - if callable(cmd): + if isinstance(cmd, collections.Callable): cmd() @@ -648,18 +649,18 @@ def _cellframedblclick(self, event): #print 'double click cell frame' cmd = self['dblclickcommand'] - if callable(cmd): + if isinstance(cmd, collections.Callable): cmd() def _celldblclick(self, event): #print 'double click cell' cmd = self['dblclickcommand'] - if callable(cmd): + if isinstance(cmd, collections.Callable): cmd() if __name__ == '__main__': - rootWin = Tkinter.Tk() + rootWin = tkinter.Tk() Pmw.initialise() @@ -668,7 +669,7 @@ rootWin.update() def dbl(): - print listbox.getcurselection() + print(listbox.getcurselection()) listbox = MultiColumnListbox(rootWin, #usehullsize = 1, @@ -700,7 +701,7 @@ listbox.pack(expand = 1, fill = 'both', padx = 10, pady = 10) - exitButton = Tkinter.Button(rootWin, text="Quit", command=rootWin.quit) + exitButton = tkinter.Button(rootWin, text="Quit", command=rootWin.quit) exitButton.pack(side = 'left', padx = 10, pady = 10) rootWin.mainloop() --- Pmw/Pmw_1_3_3/contrib/PmwFileDialog.py (original) +++ Pmw/Pmw_1_3_3/contrib/PmwFileDialog.py (refactored) @@ -17,7 +17,8 @@ # ################################################################################ import os,fnmatch,time -import Tkinter,Pmw +import tkinter,Pmw +import collections #Pmw.setversion("0.8.5") def _errorpop(master,text): @@ -97,7 +98,7 @@ return self.createcomponent( 'infobox', (), None, - Tkinter.Label, (self.interior(),), + tkinter.Label, (self.interior(),), width=51, relief='groove', foreground='darkblue', @@ -223,7 +224,7 @@ self.configure(directory=dir,filename=value) c=self['command'] - if callable(c): + if isinstance(c, collections.Callable): c() def newfilename(self): @@ -313,7 +314,7 @@ try: fl=os.listdir(dir) fl.sort() - except os.error,arg: + except os.error as arg: if arg[0] in (2,20): return raise @@ -392,7 +393,7 @@ try: fl=os.listdir(dir) fl.sort() - except os.error,arg: + except os.error as arg: if arg[0] in (2,20): return raise @@ -480,14 +481,14 @@ _errorpop(self.interior(),"Please select an existing directory") if __name__=="__main__": - root=Tkinter.Tk() + root=tkinter.Tk() root.withdraw() Pmw.initialise() f0=PmwFileDialog(root) f0.title('File name dialog') n=f0.askfilename() - print '\nFilename : ',repr(n),'\n' + print('\nFilename : ',repr(n),'\n') f1=PmwDirDialog(root,info='This is a directory dialog') f1.title('Directory name dialog') @@ -495,4 +496,4 @@ n=f1.askfilename() if n is None: break - print "Dirname : ",repr(n) + print("Dirname : ",repr(n)) --- Pmw/Pmw_1_3_3/contrib/PmwFullTimeCounter.py (original) +++ Pmw/Pmw_1_3_3/contrib/PmwFullTimeCounter.py (refactored) @@ -3,8 +3,9 @@ import string import sys import time -import Tkinter +import tkinter import Pmw +import collections class FullTimeCounter(Pmw.MegaWidget): """Up-down counter @@ -64,7 +65,7 @@ else: frame = self.createcomponent('frame', (), None, - Tkinter.Frame, (interior,)) + tkinter.Frame, (interior,)) frame.grid(column=2, row=2, sticky='nsew') interior.grid_columnconfigure(2, weight=1) interior.grid_rowconfigure(2, weight=1) @@ -76,7 +77,7 @@ # Create the year down arrow. self._downYearArrowBtn = self.createcomponent('downyeararrow', (), 'Arrow', - Tkinter.Canvas, (frame,), + tkinter.Canvas, (frame,), width = 16, height = 16, relief = 'raised', borderwidth = 2) self.arrowDirection[self._downYearArrowBtn] = 0 self._downYearArrowBtn.grid(column = 0, row = 2) @@ -84,7 +85,7 @@ # Create the month down arrow. self._downMonthArrowBtn = self.createcomponent('downmontharrow', (), 'Arrow', - Tkinter.Canvas, (frame,), + tkinter.Canvas, (frame,), width = 16, height = 16, relief = 'raised', borderwidth = 2) self.arrowDirection[self._downMonthArrowBtn] = 0 self._downMonthArrowBtn.grid(column = 1, row = 2) @@ -92,7 +93,7 @@ # Create the day down arrow. self._downDayArrowBtn = self.createcomponent('downdayarrow', (), 'Arrow', - Tkinter.Canvas, (frame,),RefactoringTool: Refactored Pmw/Pmw_1_3_3/contrib/PmwVerticalGauge.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/contrib/TreeBrowser.py + tkinter.Canvas, (frame,), width = 16, height = 16, relief = 'raised', borderwidth = 2) self.arrowDirection[self._downDayArrowBtn] = 0 self._downDayArrowBtn.grid(column = 2, row = 2) @@ -100,7 +101,7 @@ # Create the hour down arrow. self._downHourArrowBtn = self.createcomponent('downhourarrow', (), 'Arrow', - Tkinter.Canvas, (frame,), + tkinter.Canvas, (frame,), width = 16, height = 16, relief = 'raised', borderwidth = 2) self.arrowDirection[self._downHourArrowBtn] = 0 self._downHourArrowBtn.grid(column = 3, row = 2) @@ -108,7 +109,7 @@ # Create the minute down arrow. self._downMinuteArrowBtn = self.createcomponent('downminutearrow', (), 'Arrow', - Tkinter.Canvas, (frame,), + tkinter.Canvas, (frame,), width = 16, height = 16, relief = 'raised', borderwidth = 2) self.arrowDirection[self._downMinuteArrowBtn] = 0 self._downMinuteArrowBtn.grid(column = 4, row = 2) @@ -150,7 +151,7 @@ # Create the year up arrow. self._upYearArrowBtn = self.createcomponent('upyeararrow', (), 'Arrow', - Tkinter.Canvas, (frame,), + tkinter.Canvas, (frame,), width = 16, height = 16, relief = 'raised', borderwidth = 2) self.arrowDirection[self._upYearArrowBtn] = 1 self._upYearArrowBtn.grid(column = 0, row = 0) @@ -158,7 +159,7 @@ # Create the month up arrow. self._upMonthArrowBtn = self.createcomponent('upmontharrow', (), 'Arrow', - Tkinter.Canvas, (frame,), + tkinter.Canvas, (frame,), width = 16, height = 16, relief = 'raised', borderwidth = 2) self.arrowDirection[self._upMonthArrowBtn] = 1 self._upMonthArrowBtn.grid(column = 1, row = 0) @@ -166,7 +167,7 @@ # Create the day up arrow. self._upDayArrowBtn = self.createcomponent('updayarrow', (), 'Arrow', - Tkinter.Canvas, (frame,), + tkinter.Canvas, (frame,), width = 16, height = 16, relief = 'raised', borderwidth = 2) self.arrowDirection[self._upDayArrowBtn] = 1 self._upDayArrowBtn.grid(column = 2, row = 0) @@ -174,7 +175,7 @@ # Create the hour up arrow. self._upHourArrowBtn = self.createcomponent('uphourarrow', (), 'Arrow', - Tkinter.Canvas, (frame,), + tkinter.Canvas, (frame,), width = 16, height = 16, relief = 'raised', borderwidth = 2) self.arrowDirection[self._upHourArrowBtn] = 1 self._upHourArrowBtn.grid(column = 3, row = 0) @@ -182,7 +183,7 @@ # Create the minute up arrow. self._upMinuteArrowBtn = self.createcomponent('upminutearrow', (), 'Arrow', - Tkinter.Canvas, (frame,), + tkinter.Canvas, (frame,), width = 16, height = 16, relief = 'raised', borderwidth = 2) self.arrowDirection[self._upMinuteArrowBtn] = 1 self._upMinuteArrowBtn.grid(column = 4, row = 0) @@ -371,7 +372,7 @@ def _setTimeFromStr(self, str): list = string.split(str, ':') if len(list) != 5: - raise ValueError, 'invalid value: ' + str + raise ValueError('invalid value: ' + str) self._year = string.atoi(list[0]) self._month = string.atoi(list[1]) @@ -460,7 +461,7 @@ def invoke(self, event = None): cmd = self['command'] - if callable(cmd): + if isinstance(cmd, collections.Callable): cmd() def destroy(self): @@ -473,13 +474,13 @@ def showString(): stringVal = _time.getstring() - print stringVal - - root = Tkinter.Tk() + print(stringVal) + + root = tkinter.Tk() Pmw.initialise(root) root.title('FullTimeCounter') - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') _time = FullTimeCounter(root, @@ -487,6 +488,6 @@ label_text = 'YYYY:MM:DD:HH:mm') _time.pack(fill = 'both', expand = 1, padx=10, pady=5) - button = Tkinter.Button(root, text = 'Show', command = showString) + button = tkinter.Button(root, text = 'Show', command = showString) button.pack() root.mainloop() --- Pmw/Pmw_1_3_3/contrib/PmwVerticalGauge.py (original) +++ Pmw/Pmw_1_3_3/contrib/PmwVerticalGauge.py (refactored) @@ -16,7 +16,7 @@ """ import sys -import Tkinter +import tkinter import Pmw import time @@ -61,7 +61,7 @@ self.actuallabel = self.createcomponent('actualLabel', (), None, - Tkinter.Label, (interior,), + tkinter.Label, (interior,), text = '', width = 3, relief = 'sunken', @@ -72,7 +72,7 @@ self.label = self.createcomponent('label', (), None, - Tkinter.Label, (interior,), + tkinter.Label, (interior,), text = self['label'], relief = 'raised', font = label_font, @@ -82,7 +82,7 @@ self.desiredlabel = self.createcomponent('desiredLabel', (), None, - Tkinter.Label, (interior,), + tkinter.Label, (interior,), text = '', width = 3, relief = 'sunken', @@ -93,7 +93,7 @@ self.canvas = self.createcomponent('canvas', (), None, - Tkinter.Canvas, (interior,), + tkinter.Canvas, (interior,), width = 100, height = 300, bg = 'grey') @@ -217,7 +217,7 @@ self.actuallabel.configure(text = actual) -Pmw.forwardmethods(VerticalGauge, Tkinter.Canvas, 'canvas') +Pmw.forwardmethods(VerticalGauge, tkinter.Canvas, 'canvas') if __name__ == '__main__': @@ -244,9 +244,9 @@ g1.grid(sticky = "nsew") root.grid_rowconfigure(0, weight = 1) root.grid_columnconfigure(0, weight = 1) - b1 = Tkinter.Button(text = "Increase", command = increase) + b1 = tkinter.Button(text = "Increase", command = increase) b1.grid() - b2 = Tkinter.Button(text = "Decrease", command = decrease) + b2 = tkinter.Button(text = "Decrease", command = decrease) b2.grid() # Let's go. --- Pmw/Pmw_1_3_3/contrib/TreeBrowser.py (original) +++ Pmw/Pmw_1_3_3/contrib/TreeBrowser.py (refactored) @@ -32,8 +32,9 @@ import types -import Tkinter +import tkinter import Pmw +import collections class _Branching: @@ -48,47 +49,39 @@ def addbranch(self, branchName = None, **kw): kw['indent'] = self['indent'] - return apply(self._insertnode, - ('tree', branchName, len(self._nodeNames), - self._treeRoot), - kw) + return self._insertnode(*('tree', branchName, len(self._nodeNames), + self._treeRoot), **kw) def addleaf(self, leafName = None, **kw): - return apply(self._insertnode, - ('leaf', leafName, len(self._nodeNames), - self._treeRoot), - kw) + return self._insertnode(*('leaf', leafName, len(self._nodeNames), + self._treeRoot), **kw) def insertbranch(self, branchName = None, before = 0, **kw): kw['indent'] = self['indent'] - return apply(self._insertnode, - ('tree', branchName, before, self._treeRoot), - kw) + return self._insertnode(*('tree', branchName, before, self._treeRoot), **kw) def insertleaf(self, leafName = None, before = 0, **kw): - return apply(self._insertnode, - ('leaf', leafName, before, self._treeRoot), - kw) + return self._insertnode(*('leaf', leafName, before, self._treeRoot), **kw) def _insertnode(self, type, nodeName, before, treeRoot, **kw): - if 'selectbackground' not in kw.keys(): + if 'selectbackground' not in list(kw.keys()): kw['selectbackground'] = self['selectbackground'] - if 'selectforeground' not in kw.keys(): + if 'selectforeground' not in list(kw.keys()): kw['selectforeground'] = self['selectforeground'] - if 'background' not in kw.keys(): + if 'background' not in list(kw.keys()): kw['background'] = self['background'] - if 'foreground' not in kw.keys(): + if 'foreground' not in list(kw.keys()): kw['foreground'] = self['foreground'] if nodeName == None: nodeName = self._nodeName + ".%d" % (len(self._nodeNames) + 1) - if self._nodeAttrs.has_key(nodeName): + if nodeName in self._nodeAttrs: msg = 'Node "%s" already exists.' % nodeName - raise ValueError, msg + raise ValueError(msg) # Do this early to catch bad spec before creating any items. beforeIndex = self.index(before, 1) @@ -100,7 +93,7 @@ self._nodeAttrs[self._nodeNames[-1]]['branch']._setlast(0) if(type == 'tree'): - node = apply(self.createcomponent, ('branch%d'%len(self._nodeNames), + node = self.createcomponent(*('branch%d'%len(self._nodeNames), (), None, _BranchNode, self._branchFrame, @@ -108,10 +101,10 @@ treeRoot, self, last, - ), kw) + ), **kw) attributes['nodetype'] = 'TreeNode' else: - node = apply(self.createcomponent, ('leaf%d'%len(self._nodeNames), + node = self.createcomponent(*('leaf%d'%len(self._nodeNames), (), None, _LeafNode, self._branchFrame, @@ -119,7 +112,7 @@ treeRoot, self, last, - ), kw) + ), **kw) attributes['nodetype'] = 'LeafNode' if len(self._nodeNames) == beforeIndex: @@ -157,32 +150,31 @@ if isinstance(index, _LeafNode): index = index._nodeName listLength = len(self._nodeNames) - if type(index) == types.IntType: + if type(index) == int: if forInsert and index <= listLength: return index elif not forInsert and index < listLength: return index else: - raise ValueError, 'index "%s" is out of range' % index - elif type(index) == types.StringType: + raise ValueError('index "%s" is out of range' % index) + elif type(index) == bytes: if index in self._nodeNames: return self._nodeNames.index(index) - raise ValueError, 'bad branch or leaf name: %s' % index + raise ValueError('bad branch or leaf name: %s' % index) elif index is Pmw.END: if forInsert: return listLength elif listLength > 0: return listLength - 1 else: - raise ValueError, 'TreeNode has no branches' + raise ValueError('TreeNode has no branches') #elif index is Pmw.SELECT: # if listLength == 0: # raise ValueError, 'TreeNode has no branches' # return self._pageNames.index(self.getcurselection()) else: validValues = 'a name, a number, Pmw.END, Pmw.SELECT, or a reference to a TreeBrowser Leaf or Branch' - raise ValueError, \ - 'bad index "%s": must be %s' % (index, validValues) + raise ValueError('bad index "%s": must be %s' % (index, validValues)) def getnodenames(self): return self._nodeNames @@ -256,7 +248,7 @@ self._lineCanvas = self.createcomponent('linecanvas', (), None, - Tkinter.Canvas, + tkinter.Canvas, (interior,), width = self._labelheight, height = self._labelheight, @@ -300,7 +292,7 @@ self._labelWidget.configure(label_foreground = self['selectforeground']) #self._viewButton.configure(background = self._selectbg) cmd = self['selectcommand'] - if callable(cmd): + if isinstance(cmd, collections.Callable): cmd(self) def _unhighlight(self): @@ -310,7 +302,7 @@ self._labelWidget.configure(label_foreground = self['foreground']) #self._viewButton.configure(background = self._bg) cmd = self['deselectcommand'] - if callable(cmd): + if isinstance(cmd, collections.Callable): cmd(self) def _setlast(self, last): @@ -339,9 +331,7 @@ self.defineoptions(kw, optiondefs) # Initialise the base class (after defining the options). - apply(_LeafNode.__init__, - (self, parent, nodeName, treeRoot, parentnode, last), - kw) + _LeafNode.__init__(*(self, parent, nodeName, treeRoot, parentnode, last), **kw) _Branching.__init__(self) # Create the components @@ -349,7 +339,7 @@ # Create the expand/collapse button self._viewButton = self.createcomponent('viewbutton', (), None, - Tkinter.Canvas, + tkinter.Canvas, (interior,), background = self['background'], width = self._labelheight - 4, @@ -379,7 +369,7 @@ # Create the branch frame that will contain all the branch/leaf nodes self._branchFrame = self.createcomponent('frame', (), None, - Tkinter.Frame, (interior,), + tkinter.Frame, (interior,), #borderwidth=2, #relief='ridge', ) @@ -565,7 +555,7 @@ if __name__ == '__main__': - rootWin = Tkinter.Tk() + rootWin = tkinter.Tk() Pmw.initialise() @@ -583,19 +573,19 @@ def printselected(node): selection = treeBrowser.curselection() if selection != None: - print "Selected node name:", selection[1], " label:", selection[2] + print("Selected node name:", selection[1], " label:", selection[2]) def printdeselected(node): selection = treeBrowser.curselection() if selection != None: - print "Deselected node name:", selection[1], " label:", selection[2] + print("Deselected node name:", selection[1], " label:", selection[2]) def printexpanded(node): - print "Expanded node name:", node.getname(), " label:", node.getlabel() + print("Expanded node name:", node.getname(), " label:", node.getlabel()) def printcollapsed(node): - print "Collapsed node name:", node.getname(), " label:", node.getlabel() + print("Collapsed node name:", node.getname(), " label:", node.getlabel()) @@ -639,7 +629,7 @@ expandcommand = printexpanded, collapsecommand = printcollapsed, ) - checkButton = Tkinter.Checkbutton(treeNodeLevel1.interior(), + checkButton = tkinter.Checkbutton(treeNodeLevel1.interior(), text = 'Da Check Button', relief = 'ridge', command = treeNodeLevel1.select) @@ -651,7 +641,7 @@ leaf = treeNodeLevel1.addleaf(label = 'Labeled Leaf w/ Checkbutton', selectcommand = printselected, deselectcommand = printdeselected) - checkButton = Tkinter.Checkbutton(leaf.interior(), + checkButton = tkinter.Checkbutton(leaf.interior(), text = 'Da Check Button', relief = 'ridge', command = leaf.select) @@ -663,7 +653,7 @@ expandcommand = printexpanded,RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/AboutDialog.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/All.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/Args.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/Balloon.py collapsecommand = printcollapsed, ) - checkButton = Tkinter.Checkbutton(treeNodeLevel1.interior(), + checkButton = tkinter.Checkbutton(treeNodeLevel1.interior(), text = 'Check Button with no label', relief = 'ridge', command = treeNodeLevel1.select) @@ -679,13 +669,13 @@ # setup dynamic tree node insertion and removal class dynTree: def __init__(self): - self.dyn = Tkinter.IntVar() + self.dyn = tkinter.IntVar() self.dtree = None self.dLeaf = treeBrowser.addleaf(selectcommand = self.dynSelected, deselectcommand = self.dynDeselected) - self.dCheckButton = Tkinter.Checkbutton(self.dLeaf.interior(), + self.dCheckButton = tkinter.Checkbutton(self.dLeaf.interior(), text = 'Enable Dynamic Tree', variable = self.dyn, command = self.ChkBtnHandler) @@ -726,7 +716,7 @@ treeBrowser.pack(expand = 1, fill='both') - exitButton = Tkinter.Button(rootWin, text="Quit", command=rootWin.quit) + exitButton = tkinter.Button(rootWin, text="Quit", command=rootWin.quit) exitButton.pack() rootWin.mainloop() --- Pmw/Pmw_1_3_3/demos/AboutDialog.py (original) +++ Pmw/Pmw_1_3_3/demos/AboutDialog.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -22,7 +22,7 @@ self.about.withdraw() # Create button to launch the dialog. - w = Tkinter.Button(parent, text = 'Show about dialog', + w = tkinter.Button(parent, text = 'Show about dialog', command = self.execute) w.pack(padx = 8, pady = 8) @@ -33,11 +33,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/All.py (original) +++ Pmw/Pmw_1_3_3/demos/All.py (refactored) @@ -4,14 +4,14 @@ # Display a splash screen as quickly as possible (before importing # modules and initialising Pmw). -import Tkinter -root = Tkinter.Tk(className = 'Demo') +import tkinter +root = tkinter.Tk(className = 'Demo') root.withdraw() -splash = Tkinter.Toplevel() +splash = tkinter.Toplevel() splash.withdraw() splash.title('Welcome to the Pmw demos') -text = Tkinter.Label(splash, +text = tkinter.Label(splash, font=('Helvetica', 16, 'bold'), relief = 'raised', borderwidth = 2, @@ -55,7 +55,7 @@ import string import sys import types -import Tkinter +import tkinter import DemoVersion import Args @@ -111,10 +111,10 @@ self._widgetlist.pack(fill = 'both', expand = 1, padx = 8) panes.add('info') - self._status = Tkinter.Label(panes.pane('info')) + self._status = tkinter.Label(panes.pane('info')) self._status.pack(padx = 8, anchor = 'w') - self._example = Tkinter.Frame(panes.pane('info'), + self._example = tkinter.Frame(panes.pane('info'), borderwidth = 2, relief = 'sunken', background = 'white') @@ -153,7 +153,7 @@ sels = self._widgetlist.getcurselection() if len(sels) == 0: - print 'No demonstrations to display' + print('No demonstrations to display') return demoName = sels[0] @@ -178,9 +178,9 @@ for window in self._example.winfo_children(): window.destroy() - frame = Tkinter.Frame(self._example) + frame = tkinter.Frame(self._example) frame.pack(expand = 1) - exec 'import ' + demoName + exec('import ' + demoName) # Need to keep a reference to the widget, so that variables, etc # are not deleted. self.widget = eval(demoName + '.Demo(frame)') @@ -196,7 +196,7 @@ def showCode(self): if self.codeWindow.state() != 'normal': if self.demoName is None: - print 'No demonstration selected' + print('No demonstration selected') return self.insertCode() @@ -276,7 +276,7 @@ program = 'All.py' msg = Args.parseArgs(program, sys.argv, commandLineArgSpecs, 0) if msg is not None: - print msg + print(msg) sys.exit() size = Args.get('fontsize') --- Pmw/Pmw_1_3_3/demos/Args.py (original) +++ Pmw/Pmw_1_3_3/demos/Args.py (refactored) @@ -80,7 +80,7 @@ else: set(arg, None) - knownKeys = argSpecDic.keys() + knownKeys = list(argSpecDic.keys()) i = 1 _fileList = [] @@ -99,14 +99,14 @@ value = argv[i] if len(spec) >= SPEC_LENGTH: try: - if type(spec[DEFAULT]) == types.IntType: + if type(spec[DEFAULT]) == int: typeStr = 'integer' value = string.atoi(value) - elif type(spec[DEFAULT]) == types.FloatType: + elif type(spec[DEFAULT]) == float: typeStr = 'float' value = string.atof(value) except: - sys.exc_traceback = None # Clean up object references + sys.exc_info()[2] = None # Clean up object references return errMsg + 'cannot convert string \'' + value + \ '\' to ' + typeStr + ' for option \'-' + key + '\'.' set(key, value) @@ -133,7 +133,7 @@ str(_missing[0]) + '\' is missing.' elif len(_missing) > 1: return errMsg + 'required arguments ' + \ - str(map(lambda s: '-' + s, _missing)) + ' are missing.' + str(['-' + s for s in _missing]) + ' are missing.' return None @@ -167,7 +167,7 @@ else: arg = '-%s <%s>' % (spec[NAME], spec[TYPE]) if len(spec) >= SPEC_LENGTH: - if type(spec[DEFAULT]) == types.StringType: + if type(spec[DEFAULT]) == bytes: definition = spec[HELP] + ' (' + spec[DEFAULT] + ')' else: definition = spec[HELP] + ' (' + str(spec[DEFAULT]) + ')' @@ -178,7 +178,7 @@ return rtn def exists(key): - return configDict.has_key(key) + return key in configDict def get(key): return configDict[key] --- Pmw/Pmw_1_3_3/demos/Balloon.py (original) +++ Pmw/Pmw_1_3_3/demos/Balloon.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -13,7 +13,7 @@ self.balloon = Pmw.Balloon(parent) # Create some widgets and megawidgets with balloon help. - frame = Tkinter.Frame(parent) + frame = tkinter.Frame(parent) frame.pack(padx = 10, pady = 5) field = Pmw.EntryField(frame, labelpos = 'nw', @@ -23,15 +23,15 @@ self.balloon.bind(field, 'Command to\nstart/stop', 'Enter the shell command to control') - start = Tkinter.Button(frame, text='Start') + start = tkinter.Button(frame, text='Start') start.pack(side='left', padx = 10) self.balloon.bind(start, 'Start the command') - stop = Tkinter.Button(frame, text='Stop') + stop = tkinter.Button(frame, text='Stop') stop.pack(side='left', padx = 10) self.balloon.bind(stop, 'Stop the command') - self.suicide = Tkinter.Button(frame, text='Kill me soon!', + self.suicide = tkinter.Button(frame, text='Kill me soon!', command = self.killButton) self.suicide.pack(side='left', padx = 10) self.balloon.bind(self.suicide, 'Watch this button disappear!') @@ -103,19 +103,19 @@ 'After 2 seconds\ndelete the tag') text.tag_bind('TAG3', '', self._textButtonpress) - frame = Tkinter.Frame(parent) + frame = tkinter.Frame(parent) frame.pack(padx = 10) - self.toggleBalloonVar = Tkinter.IntVar() + self.toggleBalloonVar = tkinter.IntVar() self.toggleBalloonVar.set(1) - toggle = Tkinter.Checkbutton(frame, + toggle = tkinter.Checkbutton(frame, variable = self.toggleBalloonVar, text = 'Balloon help', command = self.toggle) toggle.pack(side = 'left', padx = 10) self.balloon.bind(toggle, 'Toggle balloon help\non and off') - self.toggleStatusVar = Tkinter.IntVar()RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/BltGraph.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/BltTabset.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/ButtonBox.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/Colors.py + self.toggleStatusVar = tkinter.IntVar() self.toggleStatusVar.set(1) - toggle = Tkinter.Checkbutton(frame, + toggle = tkinter.Checkbutton(frame, variable = self.toggleStatusVar, text = 'Status help', command = self.toggle) toggle.pack(side = 'left', padx = 10) @@ -151,11 +151,11 @@ def killButton(self): # Test for old bug when destroying widgets 1) while the # balloon was up and 2) during the initwait period. - print 'Destroying button in 2 seconds' + print('Destroying button in 2 seconds') self.suicide.after(2000, self.suicide.destroy) def _canvasButtonpress(self, event): - print 'Destroying blue circle in 2 seconds' + print('Destroying blue circle in 2 seconds') self.canvas.after(2000, self.deleteBlueCircle) def deleteBlueCircle(self): @@ -163,7 +163,7 @@ self.canvas.delete(self.bluecircle) def _textButtonpress(self, event): - print 'Deleting the text tag in 2 seconds' + print('Deleting the text tag in 2 seconds') self.text.after(2000, self.deleteTextTag) def deleteTextTag(self): @@ -175,11 +175,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root, 12, fontScheme = 'default') root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/BltGraph.py (original) +++ Pmw/Pmw_1_3_3/demos/BltGraph.py (refactored) @@ -5,7 +5,7 @@ sys.path[:0] = ['../../..'] import string -import Tkinter +import tkinter import Pmw # Simple random number generator. @@ -49,7 +49,7 @@ interior = self.interior() - controlFrame = Tkinter.Frame(interior) + controlFrame = tkinter.Frame(interior) controlFrame.pack(side = 'bottom', fill = 'x', expand = 0) # Create an option menu for the kind of elements to create. @@ -103,12 +103,12 @@ bufferelements.pack(side = 'left') # Create a button to add a point to the vector. - addpoint = Tkinter.Button(controlFrame, text = 'Add point', + addpoint = tkinter.Button(controlFrame, text = 'Add point', command = Pmw.busycallback(self._addpoint)) addpoint.pack(side = 'left', fill = 'x', expand = 0) # Create a button to close the window - close = Tkinter.Button(controlFrame, text = 'Close', + close = tkinter.Button(controlFrame, text = 'Close', command = Pmw.busycallback(self.destroy)) close.pack(side = 'left', fill = 'x', expand = 0) @@ -129,7 +129,7 @@ def _setelementtype(self, type): elements = self._graph.element_names() - apply(self._graph.element_delete, elements) + self._graph.element_delete(*elements) if type == 'none': return @@ -197,7 +197,7 @@ message = 'Sorry\nThe BLT package has not been\n' + \ 'installed on this system.\n' + \ 'Please install it and try again.' - w = Tkinter.Label(parent, text = message) + w = tkinter.Label(parent, text = message) w.pack(padx = 8, pady = 8) return @@ -205,7 +205,7 @@ 'BLT graph widget.\n' + \ 'Select the number of points to display and\n' + \ 'click on the button to display the graph.' - w = Tkinter.Label(parent, text = message) + w = tkinter.Label(parent, text = message) w.pack(padx = 8, pady = 8) # Create combobox to select number of points to display. @@ -215,7 +215,7 @@ self.combo.pack(padx = 8, pady = 8) # Create button to start blt graph. - start = Tkinter.Button(parent, + start = tkinter.Button(parent, text = 'Show BLT graph', command = Pmw.busycallback(self.showGraphDemo)) start.pack(padx = 8, pady = 8) @@ -231,11 +231,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/BltTabset.py (original) +++ Pmw/Pmw_1_3_3/demos/BltTabset.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -13,7 +13,7 @@ message = 'Sorry\nThe BLT package has not been\n' + \ 'installed on this system.\n' + \ 'Please install it and try again.' - w = Tkinter.Label(parent, text = message) + w = tkinter.Label(parent, text = message) w.pack(padx = 8, pady = 8) return @@ -27,7 +27,7 @@ self.tabset.configure(selectbackground = background, tabbackground = background, activebackground = background) - configurePanel = Tkinter.Frame(self.tabset) + configurePanel = tkinter.Frame(self.tabset) sideMenu = Pmw.OptionMenu (configurePanel, labelpos = 'w', label_text = 'Side:', @@ -50,8 +50,8 @@ rotateMenu.selectitem(0) self.rotateText('0') - self.appearancePanel = Tkinter.Label(self.tabset) - helpersPanel = Tkinter.Button(self.tabset, + self.appearancePanel = tkinter.Label(self.tabset) + helpersPanel = tkinter.Button(self.tabset, text = 'This is a lot\nof help!') self.tabset.insert('end', @@ -91,11 +91,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/ButtonBox.py (original) +++ Pmw/Pmw_1_3_3/demos/ButtonBox.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -34,23 +34,23 @@ self.buttonBox.invoke() def ok(self): - print 'You clicked on OK' + print('You clicked on OK') def apply(self): - print 'You clicked on Apply' + print('You clicked on Apply') def cancel(self): - print 'You clicked on Cancel' + print('You clicked on Cancel') ###################################################################### # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/Colors.py (original) +++ Pmw/Pmw_1_3_3/demos/Colors.py (refactored) @@ -4,12 +4,12 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: def __init__(self, parent): - frame = Tkinter.Frame(parent) + frame = tkinter.Frame(parent) frame.pack(fill = 'both', expand = 1) defaultPalette = Pmw.Color.getdefaultpalette(parent) @@ -32,7 +32,7 @@ entryfield_value = items[0]) combo.grid(sticky='nsew', row = count, column = 1) - apply(Pmw.Color.setscheme, (parent,), defaultPalette) + Pmw.Color.setscheme(*(parent,), **defaultPalette) #normalcolor = Pmw.Color.changebrightness(parent, 'red', 0.85) #Pmw.Color.setscheme(parent, normalcolor) @@ -40,11 +40,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop()RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/ComboBox.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/ComboBoxDialog.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/ConfigClass.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/Counter.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/CounterDialog.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/DemoVersion.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/Dialog.py --- Pmw/Pmw_1_3_3/demos/ComboBox.py (original) +++ Pmw/Pmw_1_3_3/demos/ComboBox.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -12,7 +12,7 @@ parent.configure(background = 'white') # Create and pack the widget to be configured. - self.target = Tkinter.Label(parent, + self.target = tkinter.Label(parent, relief = 'sunken', padx = 20, pady = 20, @@ -55,22 +55,22 @@ self.changeColour(first) def changeColour(self, colour): - print 'Colour: ' + colour + print('Colour: ' + colour) self.target.configure(background = colour) def changeText(self, text): - print 'Text: ' + text + print('Text: ' + text) self.target.configure(text = text) ###################################################################### # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/ComboBoxDialog.py (original) +++ Pmw/Pmw_1_3_3/demos/ComboBoxDialog.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -20,24 +20,24 @@ self.dialog.withdraw() # Create button to launch the dialog. - w = Tkinter.Button(parent, + w = tkinter.Button(parent, text = 'Show combo box dialog', command = self.doit) w.pack(padx = 8, pady = 8) def doit(self): result = self.dialog.activate() - print 'You clicked on', result, self.dialog.get() + print('You clicked on', result, self.dialog.get()) ###################################################################### # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/ConfigClass.py (original) +++ Pmw/Pmw_1_3_3/demos/ConfigClass.py (refactored) @@ -4,23 +4,23 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw -class MyButton(Tkinter.Button): +class MyButton(tkinter.Button): # This is just an ordinary button with special colors. def __init__(self, master=None, cnf={}, **kw): self.__toggle = 0 kw['background'] = 'green' kw['activebackground'] = 'red' - apply(Tkinter.Button.__init__, (self, master, cnf), kw) + tkinter.Button.__init__(*(self, master, cnf), **kw) class Demo: def __init__(self, parent): # Create a title label: - label = Tkinter.Label(parent, + label = tkinter.Label(parent, text = 'EntryFields with label components of specified type:') label.pack(fill='x', expand=1, padx=10, pady=5) @@ -35,7 +35,7 @@ entry = Pmw.EntryField(parent, labelpos = 'w', - label_pyclass = Tkinter.Button, + label_pyclass = tkinter.Button, label_text = 'Button' ) entry.pack(fill='x', expand=1, padx=10, pady=5) @@ -66,11 +66,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/Counter.py (original) +++ Pmw/Pmw_1_3_3/demos/Counter.py (refactored) @@ -6,14 +6,14 @@ import string import time -import Tkinter +import tkinter import Pmw class Demo: def __init__(self, parent): # Need to use long ints here because on the Macintosh the maximum size # of an integer is smaller than the value returned by time.time(). - now = (long(time.time()) / 300) * 300 + now = (int(time.time()) / 300) * 300 # Create the Counters. self._date = Pmw.Counter(parent, @@ -82,7 +82,7 @@ self._int.pack(padx=10, pady=5) def execute(self): - print 'Return pressed, value is', self._date.get() + print('Return pressed, value is', self._date.get()) specialword = 'Monti Python ik den Holie Grailen (Bok)' @@ -98,24 +98,24 @@ length = len(text) if factor == 1: if length >= len(specialword): - raise ValueError, 'maximum length reached' + raise ValueError('maximum length reached') return specialword[:length + 1] else: if length == 0: - raise ValueError, 'empty string' + raise ValueError('empty string') return specialword[:length - 1] else: - raise ValueError, 'bad string ' + text + raise ValueError('bad string ' + text) ###################################################################### # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/CounterDialog.py (original) +++ Pmw/Pmw_1_3_3/demos/CounterDialog.py (refactored) @@ -5,7 +5,7 @@ sys.path[:0] = ['../../..'] import string -import Tkinter +import tkinter import Pmw class Demo: @@ -26,20 +26,20 @@ self.dialog.withdraw() # Create button to launch the dialog. - w = Tkinter.Button(parent, text = 'Show counter dialog', + w = tkinter.Button(parent, text = 'Show counter dialog', command = self.dialog.activate) w.pack(padx = 8, pady = 8) def execute(self, result): if result is None or result == 'Cancel': - print 'Bell ringing cancelled' + print('Bell ringing cancelled') self.dialog.deactivate() else: count = self.dialog.get() if not self.dialog.valid(): - print 'Invalid entry: "' + count + '"' + print('Invalid entry: "' + count + '"') else: - print 'Ringing the bell ' + count + ' times' + print('Ringing the bell ' + count + ' times') for num in range(string.atoi(count)): if num != 0: self.dialog.after(200) @@ -50,11 +50,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/DemoVersion.py (original) +++ Pmw/Pmw_1_3_3/demos/DemoVersion.py (refactored) @@ -32,5 +32,5 @@ if version in Pmw.installedversions(): Pmw.setversion(version) else: - print 'No such Pmw version', `version` + '.', - print 'Using default version', `Pmw.version()` + print('No such Pmw version', repr(version) + '.', end=' ') + print('Using default version', repr(Pmw.version())) --- Pmw/Pmw_1_3_3/demos/Dialog.py (original) +++ Pmw/Pmw_1_3_3/demos/Dialog.py (refactored) @@ -4,25 +4,25 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: def __init__(self, parent): # Create two buttons to launch the dialog. - w = Tkinter.Button(parent, text = 'Show application modal dialog', + w = tkinter.Button(parent, text = 'Show application modal dialog', command = self.showAppModal) w.pack(padx = 8, pady = 8) - w = Tkinter.Button(parent, text = 'Show global modal dialog', + w = tkinter.Button(parent, text = 'Show global modal dialog', command = self.showGlobalModal) w.pack(padx = 8, pady = 8)RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/EntryField.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/ErrorHandling.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/ExampleDemo.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/Grid.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/Group.py - w = Tkinter.Button(parent, text = 'Show dialog with "no grab"', + w = tkinter.Button(parent, text = 'Show dialog with "no grab"', command = self.showDialogNoGrab) w.pack(padx = 8, pady = 8) - w = Tkinter.Button(parent, text = + w = tkinter.Button(parent, text = 'Show toplevel window which\n' + 'will not get a busy cursor', command = self.showExcludedWindow) @@ -37,7 +37,7 @@ self.dialog.withdraw() # Add some contents to the dialog. - w = Tkinter.Label(self.dialog.interior(), + w = tkinter.Label(self.dialog.interior(), text = 'Pmw Dialog\n(put your widgets here)', background = 'black', foreground = 'white', @@ -71,7 +71,7 @@ self.excluded.show() def execute(self, result): - print 'You clicked on', result + print('You clicked on', result) if result not in ('Apply', 'Help'): self.dialog.deactivate(result) @@ -79,11 +79,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/EntryField.py (original) +++ Pmw/Pmw_1_3_3/demos/EntryField.py (refactored) @@ -5,7 +5,7 @@ sys.path[:0] = ['../../..'] import time -import Tkinter +import tkinter import Pmw class Demo: @@ -70,15 +70,15 @@ self._any.component('entry').focus_set() def changed(self): - print 'Text changed, value is', self._real.getvalue() + print('Text changed, value is', self._real.getvalue()) def execute(self): - print 'Return pressed, value is', self._any.getvalue() + print('Return pressed, value is', self._any.getvalue()) # This implements a custom validation routine. It simply checks # if the string is of odd length. def custom_validate(self, text): - print 'text:', text + print('text:', text) if len(text) % 2 == 0: return -1 else: @@ -88,11 +88,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/ErrorHandling.py (original) +++ Pmw/Pmw_1_3_3/demos/ErrorHandling.py (refactored) @@ -5,17 +5,17 @@ sys.path[:0] = ['../../..'] import string -import Tkinter +import tkinter import Pmw class Demo: def __init__(self, parent): # Create two buttons to generate errors. - w = Tkinter.Button(parent, text = 'Click here to generate\n' + + w = tkinter.Button(parent, text = 'Click here to generate\n' + 'an error in a command callback.', command = self.execute) w.pack(padx = 8, pady = 8) - w = Tkinter.Button(parent, text = 'Click here to generate\n' + + w = tkinter.Button(parent, text = 'Click here to generate\n' + 'an error in a callback called\nfrom an event binding.') w.pack(padx = 8, pady = 8) w.bind('', self.execute) @@ -32,11 +32,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/ExampleDemo.py (original) +++ Pmw/Pmw_1_3_3/demos/ExampleDemo.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -23,11 +23,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/Grid.py (original) +++ Pmw/Pmw_1_3_3/demos/Grid.py (refactored) @@ -4,17 +4,17 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: def __init__(self, parent): - frame = Tkinter.Frame(parent) + frame = tkinter.Frame(parent) frame.pack(fill = 'both', expand = 1) button = {} for num in range(0, 10): - button[num] = Tkinter.Button(frame, text = 'Button ' + str(num)) + button[num] = tkinter.Button(frame, text = 'Button ' + str(num)) button[0].grid(column=0, row=0, rowspan=2, sticky='nsew') button[1].grid(column=1, row=0, columnspan=3, sticky='nsew') @@ -34,11 +34,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/Group.py (original) +++ Pmw/Pmw_1_3_3/demos/Group.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -13,67 +13,67 @@ # Create and pack the Groups. w = Pmw.Group(parent, tag_text='label') w.pack(fill = 'both', expand = 1, padx = 6, pady = 6) - cw = Tkinter.Label(w.interior(), + cw = tkinter.Label(w.interior(), text = 'A group with the\ndefault Label tag') cw.pack(padx = 2, pady = 2, expand='yes', fill='both') w = Pmw.Group(parent, tag_pyclass = None) w.pack(fill = 'both', expand = 1, padx = 6, pady = 6) - cw = Tkinter.Label(w.interior(), text = 'A group\nwithout a tag') + cw = tkinter.Label(w.interior(), text = 'A group\nwithout a tag') cw.pack(padx = 2, pady = 2, expand='yes', fill='both') radiogroups = [] - self.var = Tkinter.IntVar() + self.var = tkinter.IntVar() self.var.set(0) - radioframe = Tkinter.Frame(parent) + radioframe = tkinter.Frame(parent) w = Pmw.Group(radioframe, - tag_pyclass = Tkinter.Radiobutton, + tag_pyclass = tkinter.Radiobutton, tag_text='radiobutton 1', tag_value = 0, tag_variable = self.var) w.pack(fill = 'both', expand = 1, side='left') - cw = Tkinter.Frame(w.interior(),width=200,height=20) + cw = tkinter.Frame(w.interior(),width=200,height=20) cw.pack(padx = 2, pady = 2, expand='yes', fill='both') radiogroups.append(w) w = Pmw.Group(radioframe, - tag_pyclass = Tkinter.Radiobutton, + tag_pyclass = tkinter.Radiobutton, tag_text='radiobutton 2', tag_font = Pmw.logicalfont('Helvetica', 4), tag_value = 1, tag_variable = self.var) w.pack(fill = 'both', expand = 1, side='left') - cw = Tkinter.Frame(w.interior(),width=200,height=20) + cw = tkinter.Frame(w.interior(),width=200,height=20) cw.pack(padx = 2, pady = 2, expand='yes', fill='both') radiogroups.append(w) radioframe.pack(padx = 6, pady = 6, expand='yes', fill='both') Pmw.aligngrouptags(radiogroups) w = Pmw.Group(parent, - tag_pyclass = Tkinter.Checkbutton, + tag_pyclass = tkinter.Checkbutton, tag_text='checkbutton', tag_foreground='blue') w.pack(fill = 'both', expand = 1, padx = 6, pady = 6) - cw = Tkinter.Frame(w.interior(),width=150,height=20) + cw = tkinter.Frame(w.interior(),width=150,height=20) cw.pack(padx = 2, pady = 2, expand='yes', fill='both') w = Pmw.Group(parent, - tag_pyclass = Tkinter.Button, + tag_pyclass = tkinter.Button, tag_text='Tkinter.Button') w.configure(tag_command = w.toggle) w.pack(fill = 'both', expand = 1, padx = 6, pady = 6) - cw = Tkinter.Label(w.interior(),RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/HistoryText.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/LabeledWidget.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/LogicalFont.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/MainMenuBar.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/MenuBar.py + cw = tkinter.Label(w.interior(), background = 'aliceblue', text = 'A group with\na Button tag!?' ) cw.pack(padx = 2, pady = 2, expand='yes', fill='both') w = Pmw.Group(parent, - tag_pyclass = Tkinter.Button, + tag_pyclass = tkinter.Button, tag_text='Show/Hide') w.configure(tag_command = w.toggle) w.pack(fill = 'both', expand = 1, padx = 6, pady = 6) - cw = Tkinter.Label(w.interior(), + cw = tkinter.Label(w.interior(), background = 'aliceblue', text = 'Now you see me.\nNow you don\'t.' ) @@ -83,11 +83,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/HistoryText.py (original) +++ Pmw/Pmw_1_3_3/demos/HistoryText.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -38,7 +38,7 @@ ['Redo', self.historyText.redo], [20, None], ['Prev', self.historyText.prev], - ['Next', self.historyText.next], + ['Next', self.historyText.__next__], [30, None], ['Execute', Pmw.busycallback(self.executeQuery)], ) @@ -47,10 +47,10 @@ buttonFrame = panedWidget.pane('buttons') for text, cmd in buttonList: if type(text) == type(69): - frame = Tkinter.Frame(buttonFrame, width = text) + frame = tkinter.Frame(buttonFrame, width = text) frame.pack(side = 'left') else: - button = Tkinter.Button(buttonFrame, text = text, command = cmd) + button = tkinter.Button(buttonFrame, text = text, command = cmd) button.pack(side = 'left') self.buttonDict[text] = button @@ -92,11 +92,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/LabeledWidget.py (original) +++ Pmw/Pmw_1_3_3/demos/LabeledWidget.py (refactored) @@ -4,14 +4,14 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: def __init__(self, parent): # Create a frame to put the LabeledWidgets into - frame = Tkinter.Frame(parent, background = 'grey90') + frame = tkinter.Frame(parent, background = 'grey90') frame.pack(fill = 'both', expand = 1) # Create and pack the LabeledWidgets. @@ -23,7 +23,7 @@ label_text = pos + ' label') lw.component('hull').configure(relief='sunken', borderwidth=2) lw.grid(column=column, row=row, padx=10, pady=10) - cw = Tkinter.Button(lw.interior(), text='child\nsite') + cw = tkinter.Button(lw.interior(), text='child\nsite') cw.pack(padx=10, pady=10, expand='yes', fill='both') # Get ready for next grid position. @@ -36,11 +36,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) widget = Demo(root) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack() root.mainloop() --- Pmw/Pmw_1_3_3/demos/LogicalFont.py (original) +++ Pmw/Pmw_1_3_3/demos/LogicalFont.py (refactored) @@ -5,7 +5,7 @@ sys.path[:0] = ['../../..'] import string -import Tkinter +import tkinter import Pmw class Demo: @@ -43,7 +43,7 @@ text = args[0] if args[1] != 0: text = text + ' ' + str(args[1]) - for name, value in dict.items(): + for name, value in list(dict.items()): text = text + ' ' + name + ': ' + str(value) Demo.fontText.append(text) @@ -57,7 +57,7 @@ self.box.pack(fill = 'both', expand = 1, padx = 10, pady = 10) # Create a label to display the selected font. - self.target = Tkinter.Label(parent, + self.target = tkinter.Label(parent, text = 'The quick brown fox jumps\nover the lazy dog', relief = 'sunken', padx = 10, pady = 10) self.target.pack(fill = 'both', expand = 1, padx = 10, pady = 10) @@ -66,19 +66,19 @@ sel = self.box.curselection() if len(sel) > 0: args, dict = Demo.fontList[string.atoi(sel[0])] - font = apply(Pmw.logicalfont, args, dict) + font = Pmw.logicalfont(*args, **dict) self.target.configure(font = font) - print font + print(font) ###################################################################### # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/MainMenuBar.py (original) +++ Pmw/Pmw_1_3_3/demos/MainMenuBar.py (refactored) @@ -4,13 +4,13 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: def __init__(self, parent): # Create button to launch the toplevel with main menubar. - w = Tkinter.Button(parent, text = 'Show Pmw.MainMenuBar demo', + w = tkinter.Button(parent, text = 'Show Pmw.MainMenuBar demo', command = lambda parent=parent: MainMenuBarToplevel(parent)) w.pack(padx = 8, pady = 8) @@ -50,7 +50,7 @@ label = 'General...') # Create a checkbutton menu item. - self.toggleVar = Tkinter.IntVar() + self.toggleVar = tkinter.IntVar() # Initialise the checkbutton to 1: self.toggleVar.set(1) menuBar.addmenuitem('Options', 'checkbutton', 'Toggle me on/off', @@ -72,7 +72,7 @@ label = 'About...') # Create and pack the main part of the window. - self.mainPart = Tkinter.Label(toplevel, + self.mainPart = tkinter.Label(toplevel, text = 'This is the\nmain part of\nthe window', background = 'black', foreground = 'white', @@ -106,7 +106,7 @@ self.testMenuList = [] def _toggleMe(self): - print 'Toggle value:', self.toggleVar.get() + print('Toggle value:', self.toggleVar.get()) def add(self): if len(self.testMenuList) == 0: @@ -160,17 +160,17 @@ self.text = text def __call__(self): - print self.text + print(self.text) ###################################################################### # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/MenuBar.py (original) +++ Pmw/Pmw_1_3_3/demos/MenuBar.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -41,7 +41,7 @@ label = 'General...') # Create a checkbutton menu item. - self.toggleVar = Tkinter.IntVar() + self.toggleVar = tkinter.IntVar() # Initialise the checkbutton to 1: self.toggleVar.set(1) menuBar.addmenuitem('Options', 'checkbutton', 'Toggle me on/off', @@ -63,7 +63,7 @@ label = 'About...') # Create and pack the main part of the window. - self.mainPart = Tkinter.Label(parent, + self.mainPart = tkinter.Label(parent,RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/MessageBar.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/MessageDialog.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/MessageInfo.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/MultiLineLabel.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/NestedDialogs.py text = 'This is the\nmain part of\nthe window', background = 'black', foreground = 'white', @@ -96,7 +96,7 @@ self.testMenuList = [] def _toggleMe(self): - print 'Toggle value:', self.toggleVar.get() + print('Toggle value:', self.toggleVar.get()) def add(self): if len(self.testMenuList) == 0: @@ -150,17 +150,17 @@ self.text = text def __call__(self): - print self.text + print(self.text) ###################################################################### # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/MessageBar.py (original) +++ Pmw/Pmw_1_3_3/demos/MessageBar.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -75,11 +75,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/MessageDialog.py (original) +++ Pmw/Pmw_1_3_3/demos/MessageDialog.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -45,25 +45,25 @@ self.dialog3.withdraw() # Create some buttons to launch the dialogs. - w = Tkinter.Button(parent, text = 'Simple dialog', + w = tkinter.Button(parent, text = 'Simple dialog', command = lambda self = self: self.dialog1.activate(geometry = 'first+100+100')) w.pack(padx = 8, pady = 8) - w = Tkinter.Button(parent, text = 'Bell ringing dialog', + w = tkinter.Button(parent, text = 'Bell ringing dialog', command = self.dialog2.activate) w.pack(padx = 8, pady = 8) - w = Tkinter.Button(parent, text = 'Vertical buttons', + w = tkinter.Button(parent, text = 'Vertical buttons', command = self.dialog3.activate) w.pack(padx = 8, pady = 8) - w = Tkinter.Button(parent, text = 'On the fly dialog', + w = tkinter.Button(parent, text = 'On the fly dialog', command = self._createOnTheFly) w.pack(padx = 8, pady = 8) def execute2(self, result): - print 'You clicked on', result + print('You clicked on', result) if result is None: self.dialog2.deactivate(result) elif result == 'Close': @@ -84,7 +84,7 @@ dialog.iconname('Simple message dialog') result = dialog.activate() - print 'You selected', result + print('You selected', result) @@ -92,11 +92,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/MessageInfo.py (original) +++ Pmw/Pmw_1_3_3/demos/MessageInfo.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class MessageInfo(Pmw.MegaToplevel): @@ -25,14 +25,14 @@ self._dismiss = self.createcomponent('dismiss', (), None, - Tkinter.Button, (interior,), + tkinter.Button, (interior,), text = 'Dismiss', command = self.goodbye) self._dismiss.pack(side = 'bottom', pady = 4) self._separator = self.createcomponent('separator', (), None, - Tkinter.Frame, (interior,), + tkinter.Frame, (interior,), height = 2, borderwidth = 1, relief = 'sunken') @@ -40,12 +40,12 @@ self._icon = self.createcomponent('icon', (), None, - Tkinter.Label, (interior,)) + tkinter.Label, (interior,)) self._icon.pack(side = 'left', padx = 8, pady = 8) self._infoFrame = self.createcomponent('infoframe', (), None, - Tkinter.Frame, (interior,)) + tkinter.Frame, (interior,)) self._infoFrame.pack( side = 'left', fill = 'both', @@ -55,7 +55,7 @@ self._message = self.createcomponent('message', (), None, - Tkinter.Label, (interior,)) + tkinter.Label, (interior,)) self._message.pack(expand = 1, fill = 'both', padx = 10, pady = 10) self.bind('', self.goodbye) @@ -69,7 +69,7 @@ class Demo: def __init__(self, parent): # Create button to launch the megawidget. - self.button = Tkinter.Button(parent, + self.button = tkinter.Button(parent, command = self.showMessageInfo, text = 'Show toplevel megawidget') self.button.pack(padx = 8, pady = 8) @@ -98,11 +98,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/MultiLineLabel.py (original) +++ Pmw/Pmw_1_3_3/demos/MultiLineLabel.py (refactored) @@ -5,13 +5,13 @@ sys.path[:0] = ['../../..'] import string -import Tkinter +import tkinter import Pmw class Demo: def __init__(self, parent): - frame = Tkinter.Frame(parent, background = '#eeeeee') + frame = tkinter.Frame(parent, background = '#eeeeee') frame.pack(fill = 'both', expand = 1, padx = 5, pady = 5) stickys = ('n', 's', 'e', 'w', 'ns', 'ew', 'ne', 'nw', 'se', 'sw', @@ -39,9 +39,9 @@ if cls == Pmw.Counter or cls == Pmw.ComboBox: dict['entryfield_value'] = sticky dict['entry_width'] = 6 - widget = apply(cls, (frame,), dict) + widget = cls(*(frame,), **dict) if cls == Pmw.LabeledWidget: - f = Tkinter.Button(widget.interior(), text = sticky) + f = tkinter.Button(widget.interior(), text = sticky) f.pack(fill = 'both', expand = 1) if cls == Pmw.MessageBar: widget.message('state', sticky) @@ -63,11 +63,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/NestedDialogs.py (original) +++ Pmw/Pmw_1_3_3/demos/NestedDialogs.py (refactored) @@ -4,13 +4,13 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: def __init__(self, parent): # Create button to launch the dialog. - w = Tkinter.Button(parent, text = 'Show first dialog', + w = tkinter.Button(parent, text = 'Show first dialog', command = self.showFirstDialog) w.pack(padx = 8, pady = 8) @@ -32,7 +32,7 @@ deactivatecommand = self.cancelTimer, defaultbutton = 'Cancel') self.dialog2.withdraw() - w = Tkinter.Label(self.dialog2.interior(), + w = tkinter.Label(self.dialog2.interior(), text = 'This is the second modal dialog.\n' + 'It will automatically disappear shortly') w.pack(padx = 10, pady = 10) @@ -61,11 +61,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy)RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/NoteBook.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/NoteBook_2.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/NoteBook_3.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/OptionMenu.py exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/NoteBook.py (original) +++ Pmw/Pmw_1_3_3/demos/NoteBook.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -20,9 +20,9 @@ # Create the "Toolbar" contents of the page. group = Pmw.Group(page, tag_text = 'Toolbar') group.pack(fill = 'both', expand = 1, padx = 10, pady = 10) - b1 = Tkinter.Checkbutton(group.interior(), text = 'Show toolbar') + b1 = tkinter.Checkbutton(group.interior(), text = 'Show toolbar') b1.grid(row = 0, column = 0) - b2 = Tkinter.Checkbutton(group.interior(), text = 'Toolbar tips') + b2 = tkinter.Checkbutton(group.interior(), text = 'Toolbar tips') b2.grid(row = 0, column = 1) # Create the "Startup" contents of the page. @@ -42,11 +42,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) widget = Demo(root) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack() root.mainloop() --- Pmw/Pmw_1_3_3/demos/NoteBook_2.py (original) +++ Pmw/Pmw_1_3_3/demos/NoteBook_2.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -17,11 +17,11 @@ self.withTabs = withTabs # Create a frame to put everything in - self.mainframe = Tkinter.Frame(parent) + self.mainframe = tkinter.Frame(parent) self.mainframe.pack(fill = 'both', expand = 1) # Find current default colors - button = Tkinter.Button() + button = tkinter.Button() defaultbg = button.cget('background') defaultfg = button.cget('foreground') button.destroy() @@ -85,21 +85,21 @@ page = self.notebook.add('Appearance') if self.withTabs: self.notebook.tab('Appearance').focus_set() - button = Tkinter.Button(page, + button = tkinter.Button(page, text = 'Welcome\nto\nthe\nAppearance\npage') button.pack(expand = 1) page = self.notebook.add('Fonts') - button = Tkinter.Button(page, + button = tkinter.Button(page, text = 'This is a very very very very wide Fonts page') button.pack(expand = 1) page = self.notebook.insert('Applications', before = 'Fonts') - button = Tkinter.Button(page, text = 'This is the Applications page') + button = tkinter.Button(page, text = 'This is the Applications page') button.pack(expand = 1) # Initialise the first page and the initial colour. if not self.withTabs: self.optionmenu.setitems(self.notebook.pagenames()) - apply(Pmw.Color.setscheme, (self.mainframe,), defaultPalette) + Pmw.Color.setscheme(*(self.mainframe,), **defaultPalette) self.pageCounter = 0 def insertpage(self): @@ -116,19 +116,19 @@ tab_text = pageName + '\nline two' else: tab_text = pageName - classes = (None, Tkinter.Button, Tkinter.Label, Tkinter.Checkbutton) + classes = (None, tkinter.Button, tkinter.Label, tkinter.Checkbutton) cls = self.randomchoice((None,) + classes) if cls is None: - print 'Adding', pageName, 'as a frame with a button' + print('Adding', pageName, 'as a frame with a button') if self.withTabs: page = self.notebook.insert(pageName, before, tab_text = tab_text) else: page = self.notebook.insert(pageName, before) - button = Tkinter.Button(page, + button = tkinter.Button(page, text = 'This is button %d' % self.pageCounter) button.pack(expand = 1) else: - print 'Adding', pageName, 'using', cls + print('Adding', pageName, 'using', cls) if self.withTabs: page = self.notebook.insert(pageName, before, tab_text = tab_text, @@ -144,7 +144,7 @@ self.optionmenu.setitems( self.notebook.pagenames(), self.notebook.getcurselection()) - apply(Pmw.Color.setscheme, (self.mainframe,), defaultPalette) + Pmw.Color.setscheme(*(self.mainframe,), **defaultPalette) def addbutton(self): # Add a button to a random page. @@ -156,7 +156,7 @@ framePages = [] for pageName in self.notebook.pagenames(): page = self.notebook.page(pageName) - if page.__class__ == Tkinter.Frame: + if page.__class__ == tkinter.Frame: framePages.append(pageName) if len(framePages) == 0: @@ -164,12 +164,12 @@ return pageName = self.randomchoice(framePages) - print 'Adding extra button to', pageName + print('Adding extra button to', pageName) page = self.notebook.page(pageName) - button = Tkinter.Button(page, text = 'This is an extra button') - button.pack(expand = 1) - - apply(Pmw.Color.setscheme, (self.mainframe,), defaultPalette) + button = tkinter.Button(page, text = 'This is an extra button') + button.pack(expand = 1) + + Pmw.Color.setscheme(*(self.mainframe,), **defaultPalette) def deletepage(self): # Delete a random page @@ -180,7 +180,7 @@ return pageName = self.randomchoice(pageNames) - print 'Deleting', pageName + print('Deleting', pageName) self.notebook.delete(pageName) if not self.withTabs: self.optionmenu.setitems( @@ -192,7 +192,7 @@ self.colorIndex = 0 bg, fg = self.colorList[self.colorIndex] - print 'Changing color to', bg + print('Changing color to', bg) Pmw.Color.changecolor(self.mainframe, bg, foreground = fg) self.notebook.recolorborders() @@ -208,17 +208,17 @@ self.text = text def __call__(self, text): - print self.text, text + print(self.text, text) ###################################################################### # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) widget = Demo(root) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack() root.mainloop() --- Pmw/Pmw_1_3_3/demos/NoteBook_3.py (original) +++ Pmw/Pmw_1_3_3/demos/NoteBook_3.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw # Reuse the NoteBook with tabs demo. @@ -16,11 +16,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) widget = Demo(root) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack() root.mainloop() --- Pmw/Pmw_1_3_3/demos/OptionMenu.py (original) +++ Pmw/Pmw_1_3_3/demos/OptionMenu.py (refactored) @@ -4,14 +4,14 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: def __init__(self, parent): # Create and pack the OptionMenu megawidgets. # The first one has a textvariable. - self.var = Tkinter.StringVar() + self.var = tkinter.StringVar() self.var.set('steamed') self.method_menu = Pmw.OptionMenu(parent, labelpos = 'w', @@ -45,8 +45,8 @@ def _printOrder(self, vege): # Can use 'self.var.get()' instead of 'getcurselection()'. - print 'You have chosen %s %s.' % \ - (self.method_menu.getcurselection(), vege)RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/PanedWidget.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/PanedWidget_2.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/PromptDialog.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/RadioSelect.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/Resources.py + print('You have chosen %s %s.' % \ + (self.method_menu.getcurselection(), vege)) def _changeDirection(self, direction): for menu in (self.method_menu, self.vege_menu, self.direction_menu): @@ -56,11 +56,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/PanedWidget.py (original) +++ Pmw/Pmw_1_3_3/demos/PanedWidget.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -24,9 +24,9 @@ else: name = 'Pane ' + str(self.numPanes) pane = self.pw.add(name, min = .1, size = .25) - label = Tkinter.Label(pane, text = name) + label = tkinter.Label(pane, text = name) label.pack(side = 'left', expand = 1) - button = Tkinter.Button(pane, text = 'Delete', + button = tkinter.Button(pane, text = 'Delete', command = lambda s=self, n=name: s.deletePane(n)) button.pack(side = 'left', expand = 1) # TODO: add buttons to invoke self.moveOneUp and self.moveOneUp. @@ -44,14 +44,14 @@ def move(self): numPanes = len(self.pw.panes()) if numPanes == 0: - print 'No panes to move!' + print('No panes to move!') return if self.moveSrc >= numPanes: self.moveSrc = numPanes - 1 if self.moveNewPos >= numPanes: self.moveNewPos = numPanes - 1 - print 'Moving pane', self.moveSrc, 'to new position', self.moveNewPos + print('Moving pane', self.moveSrc, 'to new position', self.moveNewPos) self.pw.move(self.moveSrc, self.moveNewPos) self.moveSrc, self.moveNewPos = self.moveNewPos, self.moveSrc @@ -69,17 +69,17 @@ def addPane(self): self.numPanes = self.numPanes + 1 name = 'Pane ' + str(self.numPanes) - print 'Adding', name + print('Adding', name) pane = self.pw.add(name, min = .1, size = .25) - label = Tkinter.Label(pane, text = name) + label = tkinter.Label(pane, text = name) label.pack(side = 'left', expand = 1) - button = Tkinter.Button(pane, text = 'Delete', + button = tkinter.Button(pane, text = 'Delete', command = lambda s=self, n=name: s.deletePane(n)) button.pack(side = 'left', expand = 1) self.pw.updatelayout() def deletePane(self, name): - print 'Deleting', name + print('Deleting', name) self.pw.delete(name) self.pw.updatelayout() @@ -93,11 +93,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/PanedWidget_2.py (original) +++ Pmw/Pmw_1_3_3/demos/PanedWidget_2.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -12,7 +12,7 @@ self.paneCount = 0 # Create a "pane factory". - label = Tkinter.Label(parent, + label = tkinter.Label(parent, pady = 10, text = 'Below is a simple "pane factory".\n' + 'Drag the handle on the left\nto create new panes.') @@ -26,7 +26,7 @@ ) self.factory.add('starter', size = 0.0) self.factory.add('main') - button = Tkinter.Button(self.factory.pane('main'), + button = tkinter.Button(self.factory.pane('main'), text = 'Pane\n0') button.pack(expand = 1) self.factory.pack(expand = 1, fill = 'both') @@ -44,7 +44,7 @@ # Add a button to the new pane. name = self.factory.panes()[0] text = 'Pane\n' + str(self.paneCount) - button = Tkinter.Button(self.factory.pane(name), text = text) + button = tkinter.Button(self.factory.pane(name), text = text) button.pack(expand = 1) # Create a new starter pane. @@ -55,11 +55,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/PromptDialog.py (original) +++ Pmw/Pmw_1_3_3/demos/PromptDialog.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw # This may demonstrate a bug in Tk. Click on Cancel in the confirm @@ -34,29 +34,29 @@ self.confirm.withdraw() # Create button to launch the dialog. - w = Tkinter.Button(parent, text = 'Show prompt dialog', + w = tkinter.Button(parent, text = 'Show prompt dialog', command = self.dialog.activate) w.pack(padx = 8, pady = 8) def execute(self, result): if result is None or result == 'Cancel': - print 'Password prompt cancelled' + print('Password prompt cancelled') self.dialog.deactivate(result) else: result = self.confirm.activate() if result == 'OK': - print 'Password entered ' + self.dialog.get() + print('Password entered ' + self.dialog.get()) self.dialog.deactivate() ###################################################################### # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/RadioSelect.py (original) +++ Pmw/Pmw_1_3_3/demos/RadioSelect.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -78,7 +78,7 @@ def callback(self, tag): # This is called whenever the user clicks on a button # in a single select RadioSelect widget. - print 'Button', tag, 'was pressed.' + print('Button', tag, 'was pressed.') def multcallback(self, tag, state): # This is called whenever the user clicks on a button @@ -88,8 +88,8 @@ else: action = 'released.' - print 'Button', tag, 'was', action, \ - 'Selection:', self.multiple.getcurselection() + print('Button', tag, 'was', action, \ + 'Selection:', self.multiple.getcurselection()) def checkbuttoncallback(self, tag, state): # This is called whenever the user clicks on a button @@ -99,18 +99,18 @@ else: action = 'released.' - print 'Button', tag, 'was', action, \ - 'Selection:', self.checkbuttons.getcurselection() + print('Button', tag, 'was', action, \ + 'Selection:', self.checkbuttons.getcurselection()) ###################################################################### # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/Resources.py (original) +++ Pmw/Pmw_1_3_3/demos/Resources.py (refactored) @@ -5,7 +5,7 @@ sys.path[:0] = ['../../..'] import string -import Tkinter +import tkinterRefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/Resources_Pmw.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/ScrolledCanvas.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/ScrolledField.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/ScrolledFrame.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/ScrolledListBox.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/ScrolledText.py import Pmw info = """ @@ -34,12 +34,12 @@ Pmw.MegaWidget.__init__(self, parent) interior = self.interior() - listbox = Tkinter.Listbox(interior, height = 12, width = 40) + listbox = tkinter.Listbox(interior, height = 12, width = 40) listbox.pack(fill='both', expand='yes') for line in string.split(info, '\n'): listbox.insert('end', line) - entry = Tkinter.Entry(interior) + entry = tkinter.Entry(interior) entry.pack(fill='y') entry.insert(0, 'Hello, World!') @@ -64,11 +64,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/Resources_Pmw.py (original) +++ Pmw/Pmw_1_3_3/demos/Resources_Pmw.py (refactored) @@ -4,14 +4,14 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: def __init__(self, parent): self.parent = parent - header = Tkinter.Label(parent, text = 'Select some Tk option ' + + header = tkinter.Label(parent, text = 'Select some Tk option ' + 'database values from\nthe lists, then click ' + '\'Create dialog\' to create\na MessageDialog with ' + 'these values as defaults.') @@ -25,7 +25,7 @@ "('OK', 'Apply', 'Cancel', 'Help')", ) - if Tkinter.TkVersion >= 8.4: + if tkinter.TkVersion >= 8.4: disabledState = 'readonly' else: disabledState = 'disabled' @@ -56,7 +56,7 @@ Pmw.alignlabels((self._buttons, self._buttonboxpos, self._pad)) # Create button to launch the dialog. - w = Tkinter.Button(parent, text = 'Create dialog', + w = tkinter.Button(parent, text = 'Create dialog', command = self._createDialog) w.pack(padx = 8, pady = 8) @@ -100,11 +100,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root, useTkOptionDb = 1) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/ScrolledCanvas.py (original) +++ Pmw/Pmw_1_3_3/demos/ScrolledCanvas.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -55,13 +55,13 @@ self.sc.component('canvas').bind('<1>', self.addcircle) - testEntry = Tkinter.Entry(parent) + testEntry = tkinter.Entry(parent) self.sc.create_line(20, 20, 100, 100) self.sc.create_oval(100, 100, 200, 200, fill = 'green') self.sc.create_text(100, 20, anchor = 'nw', text = 'Click in the canvas\nto draw ovals', font = testEntry.cget('font')) - button = Tkinter.Button(self.sc.interior(), + button = tkinter.Button(self.sc.interior(), text = 'Hello,\nWorld!\nThis\nis\na\nbutton.') self.sc.create_window(200, 200, anchor='nw', @@ -99,7 +99,7 @@ return self.rand def showYView(self): - print self.sc.yview() + print(self.sc.yview()) def pageDown(self): self.sc.yview('scroll', 1, 'page') @@ -114,11 +114,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/ScrolledField.py (original) +++ Pmw/Pmw_1_3_3/demos/ScrolledField.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -16,7 +16,7 @@ self._field.pack(fill = 'x', expand = 1, padx = 10, pady = 10) # Create and pack a button to change the ScrolledField. - self._button = Tkinter.Button(parent, text = 'Change field', + self._button = tkinter.Button(parent, text = 'Change field', command = self.execute) self._button.pack(padx = 10, pady = 10) @@ -41,11 +41,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/ScrolledFrame.py (original) +++ Pmw/Pmw_1_3_3/demos/ScrolledFrame.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -101,7 +101,7 @@ self.sf.configure(vertflex = tag) def addButton(self): - button = Tkinter.Button(self.frame, + button = tkinter.Button(self.frame, text = '(%d,%d)' % (self.col, self.row)) button.grid(row = self.row, column = self.col, sticky = 'nsew') @@ -122,7 +122,7 @@ self.col = self.col + 1 def showYView(self): - print self.sf.yview() + print(self.sf.yview()) def pageDown(self): self.sf.yview('scroll', 1, 'page') @@ -147,11 +147,11 @@ size = 16 else: size = 12 - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root, size = size, fontScheme = 'pmw2') root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/ScrolledListBox.py (original) +++ Pmw/Pmw_1_3_3/demos/ScrolledListBox.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -81,19 +81,19 @@ def selectionCommand(self): sels = self.box.getcurselection() if len(sels) == 0: - print 'No selection' + print('No selection') else: - print 'Selection:', sels[0] + print('Selection:', sels[0]) def defCmd(self): sels = self.box.getcurselection() if len(sels) == 0: - print 'No selection for double click' + print('No selection for double click') else: - print 'Double click:', sels[0] + print('Double click:', sels[0]) def showYView(self): - print self.box.yview() + print(self.box.yview()) def pageDown(self): self.box.yview('scroll', 1, 'page') @@ -108,11 +108,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/ScrolledText.py (original) +++ Pmw/Pmw_1_3_3/demos/ScrolledText.py (refactored) @@ -7,7 +7,7 @@ import os import math import string -import Tkinter +import tkinter import Pmw class Demo: @@ -77,7 +77,7 @@ header = header + '\n' self.st.insert('end', dataLine) self.st.component('rowheader').insert('end', header) - apply(self.st.tag_add, ('yellow',) + tuple(tagList)) + self.st.tag_add(*('yellow',) + tuple(tagList)) # Prevent users' modifying text and headers self.st.configure( @@ -89,11 +89,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root)RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/ScrolledText_2.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/SelectionDialog.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/ShowBusy.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/SpecialCounter.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/SpecialEntry.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/Spectrum.py root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/ScrolledText_2.py (original) +++ Pmw/Pmw_1_3_3/demos/ScrolledText_2.py (refactored) @@ -5,7 +5,7 @@ sys.path[:0] = ['../../..'] import os -import Tkinter +import tkinter import Pmw class Demo: @@ -74,7 +74,7 @@ self.st.configure(vscrollmode = tag) def showYView(self): - print self.st.yview() + print(self.st.yview()) def pageDown(self): self.st.yview('scroll', 1, 'page') @@ -89,11 +89,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/SelectionDialog.py (original) +++ Pmw/Pmw_1_3_3/demos/SelectionDialog.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -21,27 +21,27 @@ self.dialog.withdraw() # Create button to launch the dialog. - w = Tkinter.Button(parent, text = 'Show selection dialog', + w = tkinter.Button(parent, text = 'Show selection dialog', command = self.dialog.activate) w.pack(padx = 8, pady = 8) def execute(self, result): sels = self.dialog.getcurselection() if len(sels) == 0: - print 'You clicked on', result, '(no selection)' + print('You clicked on', result, '(no selection)') else: - print 'You clicked on', result, sels[0] + print('You clicked on', result, sels[0]) self.dialog.deactivate(result) ###################################################################### # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/ShowBusy.py (original) +++ Pmw/Pmw_1_3_3/demos/ShowBusy.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -22,12 +22,12 @@ 'for one second but will not display\n' \ 'the busy cursor.' - button = Tkinter.Button(parent, + button = tkinter.Button(parent, text = text, command = Pmw.busycallback(self.sleep, parent.update)) button.pack(padx = 10, pady = 10) - entry = Tkinter.Entry(parent, width = 30) + entry = tkinter.Entry(parent, width = 30) entry.insert('end', 'Try to enter some text while busy.') entry.pack(padx = 10, pady = 10) @@ -38,11 +38,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/SpecialCounter.py (original) +++ Pmw/Pmw_1_3_3/demos/SpecialCounter.py (refactored) @@ -7,7 +7,7 @@ import string import time import types -import Tkinter +import tkinter import Pmw class LabeledDateCounter(Pmw.Counter): @@ -16,7 +16,7 @@ # Need to use long ints here because on the Macintosh the maximum size # of an integer is smaller than the value returned by time.time(). - now = (long(time.time()) / 300) * 300 + now = (int(time.time()) / 300) * 300 text = time.strftime('%y/%m/%d', time.localtime(now)) kw['datatype'] = 'date' @@ -24,7 +24,7 @@ kw['entryfield_value'] = text kw['labelpos'] = 'w' - apply(Pmw.Counter.__init__, (self, parent), kw) + Pmw.Counter.__init__(*(self, parent), **kw) class LabeledRealCounter(Pmw.Counter): @@ -38,7 +38,7 @@ kw['entryfield_value'] = 50.0 kw['labelpos'] = 'w' - apply(Pmw.Counter.__init__, (self, parent), kw) + Pmw.Counter.__init__(*(self, parent), **kw) class Demo: def __init__(self, parent): @@ -58,11 +58,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/SpecialEntry.py (original) +++ Pmw/Pmw_1_3_3/demos/SpecialEntry.py (refactored) @@ -7,7 +7,7 @@ import string import time import types -import Tkinter +import tkinter import Pmw class SpecialEntry(Pmw.EntryField): @@ -15,7 +15,7 @@ def __init__(self, parent=None , **kw): kw['extravalidators'] = _myValidators - apply(Pmw.EntryField.__init__, (self, parent), kw) + Pmw.EntryField.__init__(*(self, parent), **kw) self._converter = None def setentry(self, text): @@ -23,18 +23,18 @@ # the appropriate converter. val = self['validate'] - if type(val) == types.DictionaryType: + if type(val) == dict: val = val['validator'] - if _converters.has_key(val): + if val in _converters: text = _converters[val](text, output = 0) Pmw.EntryField.setentry(self, text) def getentry(self): text = self.get() val = self['validate'] - if type(val) == types.DictionaryType: + if type(val) == dict: val = val['validator'] - if _converters.has_key(val): + if val in _converters: return _converters[val](text, output = 1) else: return text @@ -142,15 +142,15 @@ self._any.component('entry').focus_set() def changed(self): - print 'Text changed, converted value is', self._date.getentry() + print('Text changed, converted value is', self._date.getentry()) def execute(self): - print 'Return pressed, value is', self._any.get() + print('Return pressed, value is', self._any.get()) # This implements a custom validation routine. It simply checks # if the string is of odd length. def custom_validate(self, text): - print 'text:', text + print('text:', text) if len(text) % 2 == 0: return -1 else: @@ -160,11 +160,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/Spectrum.py (original) +++ Pmw/Pmw_1_3_3/demos/Spectrum.py (refactored) @@ -5,16 +5,16 @@ sys.path[:0] = ['../../..'] import string -import Tkinter +import tkinter import Pmw class Demo: def __init__(self, parent): - parent = Tkinter.Frame(parent) + parent = tkinter.Frame(parent) parent.pack(padx=10, pady=10, fill='both', expand=1) self.width = 350 self.height = 250 - self.canvas = Tkinter.Canvas(parent, + self.canvas = tkinter.Canvas(parent, width = self.width, height = self.height) self.canvas.grid(row = 0, column = 0, columnspan = 2, sticky = 'news') @@ -156,11 +156,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy)RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/SpeedTest.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/SubClassing.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/TextDialog.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/TextDisplay.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/TimeCounter.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/demos/WidgetDestroy.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/doc/ExampleDemo.py RefactoringTool: No changes to Pmw/Pmw_1_3_3/doc/ScrolledText_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/doc/example.py exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/SpeedTest.py (original) +++ Pmw/Pmw_1_3_3/demos/SpeedTest.py (refactored) @@ -5,7 +5,7 @@ sys.path[:0] = ['../../..'] import time -import Tkinter +import tkinter import Pmw class Demo: @@ -15,17 +15,17 @@ message = 'This is a test of the time\n' + \ 'it takes to create 20 Pmw\nEntryField megawidgets.\n' + \ 'Click on the button to create them.' - w = Tkinter.Label(parent, text = message) + w = tkinter.Label(parent, text = message) w.pack(padx = 8, pady = 8) # Create button to run speed test. - w = Tkinter.Button(parent, + w = tkinter.Button(parent, text = 'Create 20 EntryFields', command = self.createEntries) w.pack(padx = 8, pady = 8) def createEntries(self): - entryTop = Tkinter.Toplevel(self.parent) + entryTop = tkinter.Toplevel(self.parent) startClock = time.clock() fields = [] @@ -43,18 +43,18 @@ fields.append(field) Pmw.alignlabels(fields) - print 'Time to create 20 EntryFields:', \ - time.clock() - startClock, 'seconds' + print('Time to create 20 EntryFields:', \ + time.clock() - startClock, 'seconds') ###################################################################### # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/SubClassing.py (original) +++ Pmw/Pmw_1_3_3/demos/SubClassing.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class ExtraMethods(Pmw.EntryField): @@ -22,7 +22,7 @@ def __init__(self, textToAdd, parent = None, **kw): self._textToAdd = textToAdd - apply(Pmw.EntryField.__init__, (self, parent), kw) + Pmw.EntryField.__init__(*(self, parent), **kw) def addtext(self): self.setvalue(self.getvalue() + ' ' + self._textToAdd) @@ -35,7 +35,7 @@ def __init__(self, parent = None, **kw): kw['label_foreground'] = 'blue' kw['entry_background'] = 'white' - apply(Pmw.EntryField.__init__, (self, parent), kw) + Pmw.EntryField.__init__(*(self, parent), **kw) class NewOptions(Pmw.EntryField): @@ -118,11 +118,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/TextDialog.py (original) +++ Pmw/Pmw_1_3_3/demos/TextDialog.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -19,7 +19,7 @@ dialog.configure(text_state = 'disabled') # Create button to launch the dialog. - w = Tkinter.Button(parent, text = 'Show text dialog', + w = tkinter.Button(parent, text = 'Show text dialog', command = dialog.activate) w.pack(padx = 8, pady = 8) @@ -65,11 +65,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/TextDisplay.py (original) +++ Pmw/Pmw_1_3_3/demos/TextDisplay.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class TextDisplay(Pmw.MegaWidget): @@ -25,12 +25,12 @@ self._text = self.createcomponent('text', (), None, - Tkinter.Text, (interior,), state = 'disabled') + tkinter.Text, (interior,), state = 'disabled') self._text.pack(side='left', fill='both', expand='yes') self._scrollbar = self.createcomponent('scrollbar', (), None, - Tkinter.Scrollbar, (interior,), command = self._text.yview) + tkinter.Scrollbar, (interior,), command = self._text.yview) self._scrollbar.pack(side='right', fill='y') self._text.configure(yscrollcommand = self._scrollbar.set) @@ -68,11 +68,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/TimeCounter.py (original) +++ Pmw/Pmw_1_3_3/demos/TimeCounter.py (refactored) @@ -5,7 +5,7 @@ sys.path[:0] = ['../../..'] import string -import Tkinter +import tkinter import Pmw class Demo: @@ -17,24 +17,24 @@ max = '23:59:59') self._time.pack(padx=10, pady=5) - button = Tkinter.Button(parent, text = 'Show', command = self.show) + button = tkinter.Button(parent, text = 'Show', command = self.show) button.pack() def show(self): stringVal = self._time.getstring() intVal = self._time.getint() - print stringVal + ' (' + str(intVal) + ')' + print(stringVal + ' (' + str(intVal) + ')') ###################################################################### # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/demos/WidgetDestroy.py (original) +++ Pmw/Pmw_1_3_3/demos/WidgetDestroy.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -19,18 +19,18 @@ self.entryfield.component('entry').focus_set() def execute(self): - print 'Return pressed, destroying EntryField.' + print('Return pressed, destroying EntryField.') self.entryfield.destroy() ###################################################################### # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/doc/ExampleDemo.py (original) +++ Pmw/Pmw_1_3_3/doc/ExampleDemo.py (refactored) @@ -4,7 +4,7 @@ import sys sys.path[:0] = ['../../..'] -import Tkinter +import tkinter import Pmw class Demo: @@ -23,11 +23,11 @@ # Create demo in root window for testing. if __name__ == '__main__': - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) root.title(title) - exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy) + exitButton = tkinter.Button(root, text = 'Exit', command = root.destroy) exitButton.pack(side = 'bottom') widget = Demo(root) root.mainloop() --- Pmw/Pmw_1_3_3/doc/example.py (original) +++ Pmw/Pmw_1_3_3/doc/example.py (refactored) @@ -1,4 +1,4 @@ -import Tkinter +import tkinter import Pmw class ThresholdScale(Pmw.MegaWidget): @@ -24,7 +24,7 @@ # Create the indicator component. self.indicator = self.createcomponent('indicator', (), None,RefactoringTool: Refactored Pmw/Pmw_1_3_3/doc/exercises.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwAboutDialog.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwBalloon.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwBase.py - Tkinter.Frame, interior, + tkinter.Frame, interior, width = 16, height = 16, borderwidth = 2, @@ -34,7 +34,7 @@ # Create the scale component. self.scale = self.createcomponent('scale', (), None, - Tkinter.Scale, interior, + tkinter.Scale, interior, command = self._doCommand, tickinterval = 20, length = 200, @@ -57,7 +57,7 @@ color = self['colors'][0] self.indicator.configure(background = color) -Pmw.forwardmethods(ThresholdScale, Tkinter.Scale, 'scale') +Pmw.forwardmethods(ThresholdScale, tkinter.Scale, 'scale') # Initialise Tkinter and Pmw. root = Pmw.initialise() --- Pmw/Pmw_1_3_3/doc/exercises.py (original) +++ Pmw/Pmw_1_3_3/doc/exercises.py (refactored) @@ -1,4 +1,4 @@ -import Tkinter +import tkinter import Pmw class ThresholdScale(Pmw.MegaWidget): @@ -26,7 +26,7 @@ # Create the indicator component. self.indicator = self.createcomponent('indicator', (), None, - Tkinter.Frame, interior, + tkinter.Frame, interior, width = 16, height = 16, borderwidth = 2, @@ -35,7 +35,7 @@ # Create the value component. self.value = self.createcomponent('value', (), None, - Tkinter.Label, interior, + tkinter.Label, interior, width = 3) # Create the scale component. @@ -50,7 +50,7 @@ self.scale = self.createcomponent('scale', (), None, - Tkinter.Scale, interior, + tkinter.Scale, interior, orient = self['orient'], command = self._doCommand, tickinterval = 20, @@ -92,7 +92,7 @@ self.indicator.configure(background = color) self.value.configure(text = valueStr) -Pmw.forwardmethods(ThresholdScale, Tkinter.Scale, 'scale') +Pmw.forwardmethods(ThresholdScale, tkinter.Scale, 'scale') # Initialise Tkinter and Pmw. root = Pmw.initialise() --- Pmw/Pmw_1_3_3/lib/PmwAboutDialog.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwAboutDialog.py (refactored) @@ -25,10 +25,10 @@ Pmw.MessageDialog.__init__(self, parent) applicationname = self['applicationname'] - if not kw.has_key('title'): + if 'title' not in kw: self.configure(title = 'About ' + applicationname) - if not kw.has_key('message_text'): + if 'message_text' not in kw: text = applicationname + '\n\n' if AboutDialog._version != '': text = text + 'Version ' + AboutDialog._version + '\n' --- Pmw/Pmw_1_3_3/lib/PmwBalloon.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwBalloon.py (refactored) @@ -1,7 +1,8 @@ import os import string -import Tkinter +import tkinter import Pmw +import collections class Balloon(Pmw.MegaToplevel): def __init__(self, parent = None, **kw): @@ -33,13 +34,13 @@ interior = self.interior() self._label = self.createcomponent('label', (), None, - Tkinter.Label, (interior,)) + tkinter.Label, (interior,)) self._label.pack() # The default hull configuration options give a black border # around the balloon, but avoids a black 'flash' when the # balloon is deiconified, before the text appears. - if not kw.has_key('hull_background'): + if 'hull_background' not in kw: self.configure(hull_background = \ str(self._label.cget('background'))) @@ -104,7 +105,7 @@ def unbind(self, widget): if hasattr(widget, '_Pmw_BalloonBindIds'): - if widget._Pmw_BalloonBindIds.has_key(None): + if None in widget._Pmw_BalloonBindIds: (enterId, motionId, leaveId, buttonId, destroyId) = \ widget._Pmw_BalloonBindIds[None] # Need to pass in old bindings, so that Tkinter can @@ -157,7 +158,7 @@ def tagunbind(self, widget, tagOrItem): if hasattr(widget, '_Pmw_BalloonBindIds'): - if widget._Pmw_BalloonBindIds.has_key(tagOrItem): + if tagOrItem in widget._Pmw_BalloonBindIds: (enterId, motionId, leaveId, buttonId) = \ widget._Pmw_BalloonBindIds[tagOrItem] widget.tag_unbind(tagOrItem, '', enterId) @@ -200,7 +201,7 @@ def showstatus(self, statusHelp): if self['state'] in ('status', 'both'): cmd = self['statuscommand'] - if callable(cmd): + if isinstance(cmd, collections.Callable): cmd(statusHelp) def clearstatus(self): @@ -208,14 +209,14 @@ def _state(self): if self['state'] not in ('both', 'balloon', 'status', 'none'): - raise ValueError, 'bad state option ' + repr(self['state']) + \ + raise ValueError('bad state option ' + repr(self['state']) + \ ': should be one of \'both\', \'balloon\', ' + \ - '\'status\' or \'none\'' + '\'status\' or \'none\'') def _relmouse(self): if self['relmouse'] not in ('both', 'x', 'y', 'none'): - raise ValueError, 'bad relmouse option ' + repr(self['relmouse'])+ \ - ': should be one of \'both\', \'x\', ' + '\'y\' or \'none\'' + raise ValueError('bad relmouse option ' + repr(self['relmouse'])+ \ + ': should be one of \'both\', \'x\', ' + '\'y\' or \'none\'') def _enter(self, event, widget, statusHelp, balloonHelp, isItem): --- Pmw/Pmw_1_3_3/lib/PmwBase.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwBase.py (refactored) @@ -19,7 +19,8 @@ import sys import traceback import types -import Tkinter +import tkinter +import collections # Special values used in index() methods of several megawidgets. END = ['end'] @@ -103,7 +104,7 @@ __methodDict(super, dict) # do my methods last to override base classes - for key, value in cls.__dict__.items(): + for key, value in list(cls.__dict__.items()): # ignore class attributes if type(value) == types.FunctionType: dict[key] = value @@ -116,7 +117,7 @@ dict = {} __methodDict(cls, dict) - return dict.keys() + return list(dict.keys()) # Function body to resolve a forwarding given the target method name and the # attribute name. The resulting lambda requires only self, but will forward @@ -177,14 +178,14 @@ # Allow an attribute name (String) or a function to determine the instance - if type(toPart) != types.StringType: + if type(toPart) != bytes: # check that it is something like a function - if callable(toPart): + if isinstance(toPart, collections.Callable): # If a method is passed, use the function within it if hasattr(toPart, 'im_func'): - toPart = toPart.im_func + toPart = toPart.__func__ # After this is set up, forwarders in this class will use # the forwarding function. The forwarding function name is @@ -194,35 +195,35 @@ # It's not a valid type else: - raise TypeError, 'toPart must be attribute name, function or method' + raise TypeError('toPart must be attribute name, function or method') # get the full set of candidate methods dict = {} __methodDict(toClass, dict) # discard special methods - for ex in dict.keys(): + for ex in list(dict.keys()): if ex[:1] == '_' or ex[-1:] == '_': del dict[ex] # discard dangerous methods supplied by the caller for ex in exclude: - if dict.has_key(ex): + if ex in dict: del dict[ex] # discard methods already defined in fromClass for ex in __methods(fromClass): - if dict.has_key(ex): + if ex in dict: del dict[ex] - for method, func in dict.items(): + for method, func in list(dict.items()): d = {'method': method, 'func': func} - if type(toPart) == types.StringType: + if type(toPart) == bytes: execString = \ __stringBody % {'method' : method, 'attribute' : toPart} else: execString = \ __funcBody % {'forwardFunc' : forwardName, 'method' : method} - exec execString in d + exec(execString, d) # this creates a method fromClass.__dict__[method] = d[method] @@ -346,7 +347,7 @@ self._hull = None else: if parent is None: - parent = Tkinter._default_root + parent = tkinter._default_root # Create the hull. self._hull = self.createcomponent('hull', @@ -363,7 +364,7 @@ option_get = self.option_get _VALUE = _OPT_VALUE _DEFAULT = _OPT_DEFAULT - for name, info in self._optionInfo.items(): + for name, info in list(self._optionInfo.items()): value = info[_VALUE] if value is _DEFAULT_OPTION_VALUE: resourceClass = string.upper(name[0]) + name[1:] @@ -404,7 +405,7 @@ if not hasattr(self, '_constructorKeywords'): # First time defineoptions has been called. tmp = {} - for option, value in keywords.items(): + for option, value in list(keywords.items()): tmp[option] = [value, 0] self._constructorKeywords = tmp self._optionInfo = {} @@ -459,12 +460,11 @@ componentGroup, widgetClass, *widgetArgs, **kw): # Create a component (during construction or later). - if self.__componentInfo.has_key(componentName): - raise ValueError, 'Component "%s" already exists' % componentName + if componentName in self.__componentInfo: + raise ValueError('Component "%s" already exists' % componentName) if '_' in componentName: - raise ValueError, \ - 'Component name "%s" must not contain "_"' % componentName + raise ValueError('Component name "%s" must not contain "_"' % componentName) if hasattr(self, '_constructorKeywords'): keywords = self._constructorKeywords @@ -486,7 +486,7 @@ alias = alias + '_' aliasLen = len(alias) - for option in keywords.keys(): + for option in list(keywords.keys()): if len(option) > aliasLen and option[:aliasLen] == alias: newkey = component + '_' + option[aliasLen:] keywords[newkey] = keywords[option] @@ -494,7 +494,7 @@ componentPrefix = componentName + '_' nameLen = len(componentPrefix) - for option in keywords.keys(): + for option in list(keywords.keys()): if len(option) > nameLen and option[:nameLen] == componentPrefix: # The keyword argument refers to this component, so add # this to the options to use when constructing the widget. @@ -513,17 +513,17 @@ kw[rest] = keywords[option][0] keywords[option][1] = 1 - if kw.has_key('pyclass'): + if 'pyclass' in kw: widgetClass = kw['pyclass'] del kw['pyclass'] if widgetClass is None: return None - if len(widgetArgs) == 1 and type(widgetArgs[0]) == types.TupleType: + if len(widgetArgs) == 1 and type(widgetArgs[0]) == tuple: # Arguments to the constructor can be specified as either # multiple trailing arguments to createcomponent() or as a # single tuple argument. widgetArgs = widgetArgs[0] - widget = apply(widgetClass, widgetArgs, kw) + widget = widgetClass(*widgetArgs, **kw) componentClass = widget.__class__.__name__ self.__componentInfo[componentName] = (widget, widget.configure, componentClass, widget.cget, componentGroup) @@ -548,7 +548,7 @@ label = self.createcomponent('label', (), None, - Tkinter.Label, (parent,)) + tkinter.Label, (parent,)) if labelpos[0] in 'ns': # vertical layout @@ -576,7 +576,7 @@ if self._initialiseoptions_counter == 0: unusedOptions = [] keywords = self._constructorKeywords - for name in keywords.keys(): + for name in list(keywords.keys()): used = keywords[name][1] if not used: # This keyword argument has not been used. If it @@ -590,12 +590,12 @@ text = 'Unknown option "' else: text = 'Unknown options "' - raise KeyError, text + string.join(unusedOptions, ', ') + \ - '" for ' + self.__class__.__name__ + raise KeyError(text + string.join(unusedOptions, ', ') + \ + '" for ' + self.__class__.__name__) # Call the configuration callback function for every option. FUNCTION = _OPT_FUNCTION - for info in self._optionInfo.values(): + for info in list(self._optionInfo.values()): func = info[FUNCTION] if func is not None and func is not INITOPT: func() @@ -630,7 +630,7 @@ # (optionName, resourceName, resourceClass, default, value) if option is None: rtn = {} - for option, config in self._optionInfo.items(): + for option, config in list(self._optionInfo.items()): resourceClass = string.upper(option[0]) + option[1:] rtn[option] = (option, option, resourceClass, config[_OPT_DEFAULT], config[_OPT_VALUE]) @@ -664,14 +664,13 @@ indirectOptions = {} indirectOptions_has_key = indirectOptions.has_key - for option, value in kw.items(): + for option, value in list(kw.items()): if optionInfo_has_key(option): # This is one of the options of this megawidget. # Make sure it is not an initialisation option. if optionInfo[option][FUNCTION] is INITOPT: - raise KeyError, \ - 'Cannot configure initialisation option "' \ - + option + '" for ' + self.__class__.__name__ + raise KeyError('Cannot configure initialisation option "' \ + + option + '" for ' + self.__class__.__name__) optionInfo[option][VALUE] = value directOptions.append(option) else: @@ -698,14 +697,14 @@ # Check if this is a group name and configure all # components in the group. componentConfigFuncs = [] - for info in componentInfo.values(): + for info in list(componentInfo.values()): if info[4] == component: componentConfigFuncs.append(info[1]) if len(componentConfigFuncs) == 0 and \ component not in self._dynamicGroups: - raise KeyError, 'Unknown option "' + option + \ - '" for ' + self.__class__.__name__ + raise KeyError('Unknown option "' + option + \ + '" for ' + self.__class__.__name__) # Add the configure method(s) (may be more than # one if this is configuring a component group) @@ -716,14 +715,14 @@ indirectOptions[componentConfigFunc][componentOption] \ = value else: - raise KeyError, 'Unknown option "' + option + \ - '" for ' + self.__class__.__name__ + raise KeyError('Unknown option "' + option + \ + '" for ' + self.__class__.__name__) # Call the configure methods for any components. #apply has been deprecated since python 2.3 #map(apply, indirectOptions.keys(), # ((),) * len(indirectOptions), indirectOptions.values()) - for func in indirectOptions.keys(): + for func in list(indirectOptions.keys()): func( **indirectOptions[func]) # Call the configuration callback function for each option. @@ -757,7 +756,7 @@ remainingComponents = name[(index + 1):] # Expand component alias - if self.__componentAliases.has_key(component): + if component in self.__componentAliases: component, subComponent = self.__componentAliases[component] if subComponent is not None: if remainingComponents is None: @@ -776,7 +775,7 @@ return self._hull def hulldestroyed(self): - return not _hullToMegaWidget.has_key(self._hull) + return self._hull not in _hullToMegaWidget def __str__(self): return str(self._hull) @@ -785,7 +784,7 @@ # Get current configuration setting. # Return the value of an option, for example myWidget['font']. - if self._optionInfo.has_key(option): + if option in self._optionInfo: return self._optionInfo[option][_OPT_VALUE] else: index = string.find(option, '_') @@ -794,7 +793,7 @@ componentOption = option[(index + 1):] # Expand component alias - if self.__componentAliases.has_key(component): + if component in self.__componentAliases: component, subComponent = self.__componentAliases[component] if subComponent is not None: componentOption = subComponent + '_' + componentOption @@ -802,20 +801,20 @@ # Expand option string to write on error option = component + '_' + componentOption - if self.__componentInfo.has_key(component): + if component in self.__componentInfo: # Call cget on the component. componentCget = self.__componentInfo[component][3] return componentCget(componentOption) else: # If this is a group name, call cget for one of # the components in the group. - for info in self.__componentInfo.values(): + for info in list(self.__componentInfo.values()): if info[4] == component: componentCget = info[3] return componentCget(componentOption) - raise KeyError, 'Unknown option "' + option + \ - '" for ' + self.__class__.__name__ + raise KeyError('Unknown option "' + option + \ + '" for ' + self.__class__.__name__) __getitem__ = cget @@ -825,7 +824,7 @@ def options(self): options = [] if hasattr(self, '_optionInfo'): - for option, info in self._optionInfo.items(): + for option, info in list(self._optionInfo.items()): isinit = info[_OPT_FUNCTION] is INITOPT default = info[_OPT_DEFAULT] options.append((option, default, isinit)) @@ -837,7 +836,7 @@ # This list includes the 'hull' component and all widget subcomponents - names = self.__componentInfo.keys() + names = list(self.__componentInfo.keys()) names.sort() return names @@ -846,7 +845,7 @@ componentAliases = self.__componentAliases - names = componentAliases.keys() + names = list(componentAliases.keys()) names.sort() rtn = [] for alias in names: @@ -915,17 +914,17 @@ if prevFocus != '': try: topWidget.tk.call('focus', prevFocus) - except Tkinter.TclError: + except tkinter.TclError: # Previous focus widget has been deleted. Set focus # to root window. - Tkinter._default_root.focus_set() + tkinter._default_root.focus_set() else: # Make sure that focus does not remain on the released widget. if len(_grabStack) > 0: topWidget = _grabStack[-1]['grabWindow'] topWidget.focus_set() else: - Tkinter._default_root.focus_set() + tkinter._default_root.focus_set() def grabstacktopwindow(): if len(_grabStack) == 0: @@ -936,7 +935,7 @@ def releasegrabs(): # Release grab and clear the grab stack. - current = Tkinter._default_root.grab_current() + current = tkinter._default_root.grab_current() if current is not None: current.grab_release() _grabStack[:] = [] @@ -956,7 +955,7 @@ else: topWidget.grab_set() break - except Tkinter.TclError: + except tkinter.TclError: # Another application has grab. Keep trying until # grab can succeed. topWidget.after(100) @@ -977,7 +976,7 @@ self.defineoptions(kw, optiondefs) # Initialise the base class (after defining the options). - MegaArchetype.__init__(self, parent, Tkinter.Toplevel) + MegaArchetype.__init__(self, parent, tkinter.Toplevel) # Initialise instance. @@ -1029,7 +1028,7 @@ def destroy(self): # Allow this to be called more than once. - if _hullToMegaWidget.has_key(self._hull): + if self._hull in _hullToMegaWidget: self.deactivate() # Remove circular references, so that object can get cleaned up. @@ -1061,7 +1060,7 @@ parent = self.winfo_parent() # winfo_parent() should return the parent widget, but the # the current version of Tkinter returns a string. - if type(parent) == types.StringType: + if type(parent) == bytes: parent = self._hull._nametowidget(parent) master = parent.winfo_toplevel() self.transient(master) @@ -1073,7 +1072,7 @@ # and one third down.) parent = self.winfo_parent() - if type(parent) == types.StringType: + if type(parent) == bytes: parent = self._hull._nametowidget(parent) # Find size of window. @@ -1107,7 +1106,7 @@ def activate(self, globalMode = 0, geometry = 'centerscreenfirst'): if self._active: - raise ValueError, 'Window is already active' + raise ValueError('Window is already active') if self.state() == 'normal': self.withdraw() @@ -1116,7 +1115,7 @@ showbusycursor() if self._wait is None: - self._wait = Tkinter.IntVar() + self._wait = tkinter.IntVar() self._wait.set(0) if geometry == 'centerscreenalways': @@ -1148,14 +1147,14 @@ parent = self.winfo_parent() # winfo_parent() should return the parent widget, but the # the current version of Tkinter returns a string. - if type(parent) == types.StringType: + if type(parent) == bytes: parent = self._hull._nametowidget(parent) master = parent.winfo_toplevel() self.transient(master) pushgrab(self._hull, globalMode, self.deactivate) command = self['activatecommand'] - if callable(command): + if isinstance(command, collections.Callable): command() self.wait_variable(self._wait) @@ -1173,7 +1172,7 @@ popgrab(self._hull) command = self['deactivatecommand'] - if callable(command): + if isinstance(command, collections.Callable): command() self.withdraw() @@ -1185,7 +1184,7 @@ def active(self): return self._active -forwardmethods(MegaToplevel, Tkinter.Toplevel, '_hull') +forwardmethods(MegaToplevel, tkinter.Toplevel, '_hull') #============================================================================= @@ -1198,12 +1197,12 @@ self.defineoptions(kw, optiondefs) # Initialise the base class (after defining the options). - MegaArchetype.__init__(self, parent, Tkinter.Frame) + MegaArchetype.__init__(self, parent, tkinter.Frame) # Check keywords and initialise options. self.initialiseoptions() -forwardmethods(MegaWidget, Tkinter.Frame, '_hull') +forwardmethods(MegaWidget, tkinter.Frame, '_hull') #============================================================================= @@ -1217,7 +1216,7 @@ global _traceTk if root is None: - root = Tkinter._default_root + root = tkinter._default_root _withStackTrace = withStackTrace _traceTk = on @@ -1240,7 +1239,7 @@ def showbusycursor(): _addRootToToplevelBusyInfo() - root = Tkinter._default_root + root = tkinter._default_root busyInfo = { 'newBusyWindows' : [], @@ -1257,7 +1256,7 @@ # No busy command, so don't call busy hold on any windows. return - for (window, winInfo) in _toplevelBusyInfo.items(): + for (window, winInfo) in list(_toplevelBusyInfo.items()): if (window.state() != 'withdrawn' and not winInfo['isBusy'] and not winInfo['excludeFromBusy']): busyInfo['newBusyWindows'].append(window) @@ -1289,7 +1288,7 @@ def hidebusycursor(forceFocusRestore = 0): # Remember the focus as it is now, before it is changed. - root = Tkinter._default_root + root = tkinter._default_root if _disableKeyboardWhileBusy: currentFocus = root.tk.call('focus') @@ -1299,7 +1298,7 @@ for window in busyInfo['newBusyWindows']: # If this window has not been deleted, release the busy cursor. - if _toplevelBusyInfo.has_key(window): + if window in _toplevelBusyInfo: winInfo = _toplevelBusyInfo[window] winInfo['isBusy'] = 0 _busy_release(window) @@ -1312,7 +1311,7 @@ if windowFocusNow == winInfo['busyWindow']: try: window.tk.call('focus', winInfo['windowFocus']) - except Tkinter.TclError: + except tkinter.TclError: # Previous focus widget has been deleted. Set focus # to toplevel window instead (can't leave focus on # busy window). @@ -1328,7 +1327,7 @@ if previousFocus is not None: try: root.tk.call('focus', previousFocus) - except Tkinter.TclError: + except tkinter.TclError: # Previous focus widget has been deleted; forget it. pass else: @@ -1342,30 +1341,29 @@ def setbusycursorattributes(window, **kw): _addRootToToplevelBusyInfo() - for name, value in kw.items(): + for name, value in list(kw.items()): if name == 'exclude': _toplevelBusyInfo[window]['excludeFromBusy'] = value elif name == 'cursorName': _toplevelBusyInfo[window]['busyCursorName'] = value else: - raise KeyError, 'Unknown busycursor attribute "' + name + '"' + raise KeyError('Unknown busycursor attribute "' + name + '"') def _addRootToToplevelBusyInfo(): # Include the Tk root window in the list of toplevels. This must # not be called before Tkinter has had a chance to be initialised by # the application. - root = Tkinter._default_root + root = tkinter._default_root if root == None: - root = Tkinter.Tk() - if not _toplevelBusyInfo.has_key(root): + root = tkinter.Tk() + if root not in _toplevelBusyInfo: _addToplevelBusyInfo(root) def busycallback(command, updateFunction = None): - if not callable(command): - raise ValueError, \ - 'cannot register non-command busy callback %s %s' % \ - (repr(command), type(command)) + if not isinstance(command, collections.Callable): + raise ValueError('cannot register non-command busy callback %s %s' % \ + (repr(command), type(command))) wrapper = _BusyWrapper(command, updateFunction) return wrapper.callback @@ -1424,10 +1422,10 @@ # If we haven't been given a root window, use the default or # create one. if root is None: - if Tkinter._default_root is None: - root = Tkinter.Tk() + if tkinter._default_root is None: + root = tkinter.Tk() else: - root = Tkinter._default_root + root = tkinter._default_root # If this call is initialising a different Tk interpreter than the # last call, then re-initialise all global variables. Assume the @@ -1449,17 +1447,17 @@ # Trap Tkinter Toplevel constructors so that a list of Toplevels # can be maintained. - Tkinter.Toplevel.title = __TkinterToplevelTitle + tkinter.Toplevel.title = __TkinterToplevelTitle # Trap Tkinter widget destruction so that megawidgets can be # destroyed when their hull widget is destoyed and the list of # Toplevels can be pruned. - Tkinter.Toplevel.destroy = __TkinterToplevelDestroy - Tkinter.Widget.destroy = __TkinterWidgetDestroy + tkinter.Toplevel.destroy = __TkinterToplevelDestroy + tkinter.Widget.destroy = __TkinterWidgetDestroy # Modify Tkinter's CallWrapper class to improve the display of # errors which occur in callbacks. - Tkinter.CallWrapper = __TkinterCallWrapper + tkinter.CallWrapper = __TkinterCallWrapper # Make sure we get to know when the window manager deletes the # root window. Only do this if the protocol has not yet been set. @@ -1471,7 +1469,7 @@ # Set the base font size for the application and set the # Tk option database font resources. - import PmwLogicalFont + from . import PmwLogicalFont PmwLogicalFont._font_initialise(root, size, fontScheme) return root @@ -1515,7 +1513,7 @@ global _recursionCounter _callToTkReturned = 0 - if len(args) == 1 and type(args[0]) == types.TupleType: + if len(args) == 1 and type(args[0]) == tuple: argStr = str(args[0]) else: argStr = str(args) @@ -1523,8 +1521,8 @@ (_recursionCounter, ' ' * _recursionCounter, argStr)) _recursionCounter = _recursionCounter + 1 try: - result = apply(self.tclInterp.call, args, kw) - except Tkinter.TclError, errorString: + result = self.tclInterp.call(*args, **kw) + except tkinter.TclError as errorString: _callToTkReturned = 1 _recursionCounter = _recursionCounter - 1 _traceTkFile.write('\nTK ERROR> %d:%s-> %s\n' % @@ -1533,7 +1531,7 @@ if _withStackTrace: _traceTkFile.write('CALL TK> stack:\n') traceback.print_stack() - raise Tkinter.TclError, errorString + raise tkinter.TclError(errorString) _recursionCounter = _recursionCounter - 1 if _callToTkReturned: @@ -1556,7 +1554,7 @@ def _setTkInterps(window, tk): window.tk = tk - for child in window.children.values(): + for child in list(window.children.values()): _setTkInterps(child, tk) #============================================================================= @@ -1597,18 +1595,18 @@ # Toplevel in the list of toplevels and set the initial # WM_DELETE_WINDOW protocol to destroy() so that we get to know # about it. - if not _toplevelBusyInfo.has_key(self): + if self not in _toplevelBusyInfo: _addToplevelBusyInfo(self) self._Pmw_WM_DELETE_name = self.register(self.destroy, None, 0) self.protocol('WM_DELETE_WINDOW', self._Pmw_WM_DELETE_name) - return apply(Tkinter.Wm.title, (self,) + args) + return tkinter.Wm.title(*(self,) + args) _haveBltBusy = None def _havebltbusy(window): global _busy_hold, _busy_release, _haveBltBusy if _haveBltBusy is None: - import PmwBlt + from . import PmwBlt _haveBltBusy = PmwBlt.havebltbusy(window) _busy_hold = PmwBlt.busy_hold if os.name == 'nt': @@ -1627,11 +1625,11 @@ def callback(self, *args): showbusycursor() - rtn = apply(self._command, args) + rtn = self._command(*args) # Call update before hiding the busy windows to clear any # events that may have occurred over the busy windows. - if callable(self._updateFunction): + if isinstance(self._updateFunction, collections.Callable): self._updateFunction() hidebusycursor() @@ -1674,7 +1672,7 @@ else: coords = (base, low, base, high, apex, middle) kw = {'fill' : color, 'outline' : color, 'tag' : tag} - apply(canvas.create_polygon, coords, kw) + canvas.create_polygon(*coords, **kw) #============================================================================= @@ -1686,7 +1684,7 @@ _hullToMegaWidget = {} def __TkinterToplevelDestroy(tkWidget): - if _hullToMegaWidget.has_key(tkWidget): + if tkWidget in _hullToMegaWidget: mega = _hullToMegaWidget[tkWidget] try: mega.destroy() @@ -1696,22 +1694,22 @@ # Delete the busy info structure for this toplevel (if the # window was created before Pmw.initialise() was called, it # will not have any. - if _toplevelBusyInfo.has_key(tkWidget): + if tkWidget in _toplevelBusyInfo: del _toplevelBusyInfo[tkWidget] if hasattr(tkWidget, '_Pmw_WM_DELETE_name'): tkWidget.tk.deletecommand(tkWidget._Pmw_WM_DELETE_name) del tkWidget._Pmw_WM_DELETE_name - Tkinter.BaseWidget.destroy(tkWidget) + tkinter.BaseWidget.destroy(tkWidget) def __TkinterWidgetDestroy(tkWidget): - if _hullToMegaWidget.has_key(tkWidget): + if tkWidget in _hullToMegaWidget: mega = _hullToMegaWidget[tkWidget] try: mega.destroy() except: _reporterror(mega.destroy, ()) else: - Tkinter.BaseWidget.destroy(tkWidget) + tkinter.BaseWidget.destroy(tkWidget) #============================================================================= @@ -1728,12 +1726,12 @@ def __call__(self, *args): try: if self.subst: - args = apply(self.subst, args) + args = self.subst(*args) if _traceTk: if not _callToTkReturned: _traceTkFile.write('\n') if hasattr(self.func, 'im_class'): - name = self.func.im_class.__name__ + '.' + \ + name = self.func.__self__.__class__.__name__ + '.' + \ self.func.__name__ else: name = self.func.__name__ @@ -1750,9 +1748,9 @@ _traceTkFile.write('CALLBACK> %d:%s%s%s\n' % (_recursionCounter, ' ' * _recursionCounter, name, argStr)) _traceTkFile.flush() - return apply(self.func, args) - except SystemExit, msg: - raise SystemExit, msgRefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwBlt.py + return self.func(*args) + except SystemExit as msg: + raise SystemExit(msg) except: _reporterror(self.func, args) @@ -1777,14 +1775,14 @@ exc_type, exc_value, exc_traceback = sys.exc_info() # Give basic information about the callback exception. - if type(exc_type) == types.ClassType: + if type(exc_type) == type: # Handle python 1.5 class exceptions. exc_type = exc_type.__name__ msg = str(exc_type) + ' Exception in Tk callback\n' msg = msg + ' Function: %s (type: %s)\n' % (repr(func), type(func)) msg = msg + ' Args: %s\n' % str(args) - if type(args) == types.TupleType and len(args) > 0 and \ + if type(args) == tuple and len(args) > 0 and \ hasattr(args[0], 'type'): eventArg = 1 else: @@ -1793,7 +1791,7 @@ # If the argument to the callback is an event, add the event type. if eventArg: eventNum = string.atoi(args[0].type) - if eventNum in _eventTypeToName.keys(): + if eventNum in list(_eventTypeToName.keys()): msg = msg + ' Event type: %s (type num: %d)\n' % \ (_eventTypeToName[eventNum], eventNum) else: @@ -1810,7 +1808,7 @@ if eventArg: msg = msg + '\n================================================\n' msg = msg + ' Event contents:\n' - keys = args[0].__dict__.keys() + keys = list(args[0].__dict__.keys()) keys.sort() for key in keys: msg = msg + ' %s: %s\n' % (key, args[0].__dict__[key]) @@ -1830,33 +1828,33 @@ self._firstShowing = 1 # Create the toplevel window - self._top = Tkinter.Toplevel() + self._top = tkinter.Toplevel() self._top.protocol('WM_DELETE_WINDOW', self._hide) self._top.title('Error in background function') self._top.iconname('Background error') # Create the text widget and scrollbar in a frame - upperframe = Tkinter.Frame(self._top) - - scrollbar = Tkinter.Scrollbar(upperframe, orient='vertical') + upperframe = tkinter.Frame(self._top) + + scrollbar = tkinter.Scrollbar(upperframe, orient='vertical') scrollbar.pack(side = 'right', fill = 'y') - self._text = Tkinter.Text(upperframe, yscrollcommand=scrollbar.set) + self._text = tkinter.Text(upperframe, yscrollcommand=scrollbar.set) self._text.pack(fill = 'both', expand = 1) scrollbar.configure(command=self._text.yview) # Create the buttons and label in a frame - lowerframe = Tkinter.Frame(self._top) - - ignore = Tkinter.Button(lowerframe, + lowerframe = tkinter.Frame(self._top) + + ignore = tkinter.Button(lowerframe, text = 'Ignore remaining errors', command = self._hide) ignore.pack(side='left') - self._nextError = Tkinter.Button(lowerframe, + self._nextError = tkinter.Button(lowerframe, text = 'Show next error', command = self._next) self._nextError.pack(side='left') - self._label = Tkinter.Label(lowerframe, relief='ridge') + self._label = tkinter.Label(lowerframe, relief='ridge') self._label.pack(side='left', fill='x', expand=1) # Pack the lower frame first so that it does not disappear --- Pmw/Pmw_1_3_3/lib/PmwBlt.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwBlt.py (refactored) @@ -3,7 +3,7 @@ import string import types -import Tkinter +import tkinter # Supported commands: _busyCommand = '::blt::busy' @@ -31,11 +31,11 @@ # Blt may be a package which has not yet been loaded. Try to load it. try: window.tk.call('package', 'require', 'BLT') - except Tkinter.TclError: + except tkinter.TclError: # Another way to try to dynamically load blt: try: window.tk.call('load', '', 'Blt') - except Tkinter.TclError: + except tkinter.TclError: pass _haveBlt= (window.tk.call('info', 'commands', _testCommand) != '') @@ -57,9 +57,9 @@ def _loadBlt(window): if _haveBlt is None: if window is None: - window = Tkinter._default_root + window = tkinter._default_root if window is None: - window = Tkinter.Tk() + window = tkinter.Tk() _checkForBlt(window) def busy_hold(window, cursor = None): @@ -86,12 +86,12 @@ # Blt vector functions: def vector_expr(expression): - tk = Tkinter._default_root.tk + tk = tkinter._default_root.tk strList = tk.splitlist(tk.call(_vectorCommand, 'expr', expression)) return tuple(map(string.atof, strList)) def vector_names(pattern = None): - tk = Tkinter._default_root.tk + tk = tkinter._default_root.tk return tk.splitlist(tk.call(_vectorCommand, 'names', pattern)) class Vector: @@ -102,7 +102,7 @@ if master: self._master = master else: - self._master = Tkinter._default_root + self._master = tkinter._default_root self.tk = self._master.tk self._name = 'PY_VEC' + str(Vector._varnum) Vector._varnum = Vector._varnum + 1 @@ -116,7 +116,7 @@ return self._name def __repr__(self): - return '[' + string.join(map(str, self), ', ') + ']' + return '[' + string.join(list(map(str, self)), ', ') + ']' def __cmp__(self, list): return cmp(self[:], list) @@ -128,8 +128,8 @@ key = key + len(self) try: return self.tk.getdouble(self.tk.globalgetvar(self._name, str(key))) - except Tkinter.TclError: - raise IndexError, oldkey + except tkinter.TclError: + raise IndexError(oldkey) def __setitem__(self, key, value): if key < 0: key = key + len(self) @@ -150,7 +150,7 @@ return [] end = end - 1 # Blt vector slices include end point. text = self.tk.globalgetvar(self._name, str(start) + ':' + str(end)) - return map(self.tk.getdouble, self.tk.splitlist(text)) + return list(map(self.tk.getdouble, self.tk.splitlist(text))) def __setslice__(self, start, end, list): if start > end: @@ -203,12 +203,12 @@ # Note that, unlike self[first:last], this includes the last # item in the returned range. text = self.tk.call(self._name, 'range', first, last) - return map(self.tk.getdouble, self.tk.splitlist(text)) + return list(map(self.tk.getdouble, self.tk.splitlist(text))) def search(self, start, end=None): return self._master._getints(self.tk.call( self._name, 'search', start, end)) def set(self, list): - if type(list) != types.TupleType: + if type(list) != tuple: list = tuple(list) self.tk.call(self._name, 'set', list) @@ -253,7 +253,7 @@ if kw: # Having keywords implies setting configuration options. # Can't set and get in one command! - raise ValueError, 'cannot have option argument with keywords' + raise ValueError('cannot have option argument with keywords') option = '-' + option optionInfo = widget.tk.splitlist(widget.tk.call(subcommand + (option,))) return (optionInfo[0][1:],) + optionInfo[1:] @@ -263,12 +263,12 @@ #============================================================================= -class Graph(Tkinter.Widget): +class Graph(tkinter.Widget): # Wrapper for the blt graph widget, version 2.4. def __init__(self, master=None, cnf={}, **kw): _loadBlt(master) - Tkinter.Widget.__init__(self, master, _graphCommand, cnf, kw) + tkinter.Widget.__init__(self, master, _graphCommand, cnf, kw) def bar_create(self, name, **kw): self.tk.call((self._w, 'bar', 'create', name) + self._options(kw)) @@ -296,7 +296,7 @@ return self.tk.call(self._w, 'axis', 'cget', axisName, '-' + key) def axis_configure(self, axes, option=None, **kw): # may be a list of axisNames. - if type(axes) == types.StringType: + if type(axes) == bytes: axes = [axes] subcommand = (self._w, 'axis', 'configure') + tuple(axes) return _doConfigure(self, subcommand, option, kw) @@ -424,7 +424,7 @@ def element_configure(self, names, option=None, **kw): # may be a list of elemNames. - if type(names) == types.StringType: + if type(names) == bytes: names = [names] subcommand = (self._w, 'element', 'configure') + tuple(names) return _doConfigure(self, subcommand, option, kw) @@ -486,7 +486,7 @@ return self.tk.call(self._w, 'pen', 'cget', name, '-' + key) def pen_configure(self, names, option=None, **kw): # may be a list of penNames. - if type(names) == types.StringType:RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwButtonBox.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwColor.py + if type(names) == bytes: names = [names] subcommand = (self._w, 'pen', 'configure') + tuple(names) return _doConfigure(self, subcommand, option, kw) @@ -525,7 +525,7 @@ return self.tk.call(self._w, 'marker', 'cget', name, '-' + key) def marker_configure(self, names, option=None, **kw): # may be a list of markerIds. - if type(names) == types.StringType: + if type(names) == bytes: names = [names] subcommand = (self._w, 'marker', 'configure') + tuple(names) return _doConfigure(self, subcommand, option, kw) @@ -553,16 +553,16 @@ def __init__(self, master=None, cnf={}, **kw): _loadBlt(master) - Tkinter.Widget.__init__(self, master, _chartCommand, cnf, kw) + tkinter.Widget.__init__(self, master, _chartCommand, cnf, kw) #============================================================================= -class Tabset(Tkinter.Widget): +class Tabset(tkinter.Widget): # Wrapper for the blt TabSet widget, version 2.4. def __init__(self, master=None, cnf={}, **kw): _loadBlt(master) - Tkinter.Widget.__init__(self, master, _tabsetCommand, cnf, kw) + tkinter.Widget.__init__(self, master, _tabsetCommand, cnf, kw) def activate(self, tabIndex): self.tk.call(self._w, 'activate', tabIndex) @@ -630,7 +630,7 @@ def tab_configure(self, tabIndexes, option=None, **kw): # may be a list of tabs. - if type(tabIndexes) in (types.StringType, types.IntType): + if type(tabIndexes) in (bytes, int): tabIndexes = [tabIndexes] subcommand = (self._w, 'tab', 'configure') + tuple(tabIndexes) return _doConfigure(self, subcommand, option, kw) --- Pmw/Pmw_1_3_3/lib/PmwButtonBox.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwButtonBox.py (refactored) @@ -1,7 +1,7 @@ # Based on iwidgets2.2.0/buttonbox.itk code. import types -import Tkinter +import tkinter import Pmw class ButtonBox(Pmw.MegaWidget): @@ -29,7 +29,7 @@ else: self._buttonBoxFrame = self.createcomponent('frame', (), None, - Tkinter.Frame, (interior,)) + tkinter.Frame, (interior,)) self._buttonBoxFrame.grid(column=2, row=2, sticky='nsew') columnOrRow = 2 @@ -41,8 +41,8 @@ elif orient == 'vertical': interior.grid_rowconfigure(columnOrRow, weight = 1) else: - raise ValueError, 'bad orient option ' + repr(orient) + \ - ': must be either \'horizontal\' or \'vertical\'' + raise ValueError('bad orient option ' + repr(orient) + \ + ': must be either \'horizontal\' or \'vertical\'') # Initialise instance variables. @@ -70,41 +70,40 @@ def index(self, index, forInsert = 0): listLength = len(self._buttonList) - if type(index) == types.IntType: + if type(index) == int: if forInsert and index <= listLength: return index elif not forInsert and index < listLength: return index else: - raise ValueError, 'index "%s" is out of range' % index + raise ValueError('index "%s" is out of range' % index) elif index is Pmw.END: if forInsert: return listLength elif listLength > 0: return listLength - 1 else: - raise ValueError, 'ButtonBox has no buttons' + raise ValueError('ButtonBox has no buttons') elif index is Pmw.DEFAULT: if self._defaultButton is not None: return self._defaultButton - raise ValueError, 'ButtonBox has no default' - else: - names = map(lambda t: t[0], self._buttonList) + raise ValueError('ButtonBox has no default') + else: + names = [t[0] for t in self._buttonList] if index in names: return names.index(index) validValues = 'a name, a number, Pmw.END or Pmw.DEFAULT' - raise ValueError, \ - 'bad index "%s": must be %s' % (index, validValues) + raise ValueError('bad index "%s": must be %s' % (index, validValues)) def insert(self, componentName, beforeComponent = 0, **kw): if componentName in self.components(): - raise ValueError, 'button "%s" already exists' % componentName - if not kw.has_key('text'): + raise ValueError('button "%s" already exists' % componentName) + if 'text' not in kw: kw['text'] = componentName kw['default'] = 'normal' - button = apply(self.createcomponent, (componentName, + button = self.createcomponent(*(componentName, (), 'Button', - Tkinter.Button, (self._buttonBoxFrame,)), kw) + tkinter.Button, (self._buttonBoxFrame,)), **kw) index = self.index(beforeComponent, 1) horizontal = self['orient'] == 'horizontal' @@ -135,7 +134,7 @@ return button def add(self, componentName, **kw): - return apply(self.insert, (componentName, len(self._buttonList)), kw) + return self.insert(*(componentName, len(self._buttonList)), **kw) def delete(self, index): index = self.index(index) --- Pmw/Pmw_1_3_3/lib/PmwColor.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwColor.py (refactored) @@ -4,7 +4,7 @@ import math import string import sys -import Tkinter +import tkinter _PI = math.pi _TWO_PI = _PI * 2 @@ -14,17 +14,17 @@ def setscheme(root, background=None, **kw): root = root._root() - palette = apply(_calcPalette, (root, background,), kw) - for option, value in palette.items(): + palette = _calcPalette(*(root, background,), **kw) + for option, value in list(palette.items()): root.option_add('*' + option, value, 'widgetDefault') def getdefaultpalette(root): # Return the default values of all options, using the defaults # from a few widgets. - ckbtn = Tkinter.Checkbutton(root) - entry = Tkinter.Entry(root) - scbar = Tkinter.Scrollbar(root) + ckbtn = tkinter.Checkbutton(root) + entry = tkinter.Entry(root) + scbar = tkinter.Scrollbar(root) orig = {} orig['activeBackground'] = str(ckbtn.configure('activebackground')[4]) @@ -213,14 +213,14 @@ # Create a map that has the complete new palette. If some colors # aren't specified, compute them from other colors that are specified. new = {} - for key, value in kw.items(): + for key, value in list(kw.items()): new[key] = value if background is not None: new['background'] = background - if not new.has_key('background'): - raise ValueError, 'must specify a background color' - - if not new.has_key('foreground'): + if 'background' not in new: + raise ValueError('must specify a background color') + + if 'foreground' not in new: new['foreground'] = 'black' bg = name2rgb(root, new['background']) @@ -228,14 +228,14 @@ for i in ('activeForeground', 'insertBackground', 'selectForeground', 'highlightColor'): - if not new.has_key(i): + if i not in new: new[i] = new['foreground'] - if not new.has_key('disabledForeground'): + if 'disabledForeground' not in new: newCol = average(bg, fg, 0.3) new['disabledForeground'] = rgb2name(newCol) - if not new.has_key('highlightBackground'): + if 'highlightBackground' not in new: new['highlightBackground'] = new['background'] # Set to a color that is a little lighter that the @@ -257,7 +257,7 @@ # normal background. darkerBg = (bg[0] * 0.9, bg[1] * 0.9, bg[2] * 0.9) - if not new.has_key('activeBackground'): + if 'activeBackground' not in new: # If the foreground is dark, pick a light active background. # If the foreground is light, pick a dark active background. # XXX This has been disabled, since it does not look very @@ -269,11 +269,11 @@ else: new['activeBackground'] = rgb2name(lighterBg) - if not new.has_key('selectBackground'): + if 'selectBackground' not in new: new['selectBackground'] = rgb2name(darkerBg) - if not new.has_key('troughColor'): + if 'troughColor' not in new: new['troughColor'] = rgb2name(darkerBg) - if not new.has_key('selectColor'): + if 'selectColor' not in new: new['selectColor'] = 'yellow' return new @@ -320,14 +320,14 @@ # are named after widget configuration options and the values are # the new value for that option. - for dbOption in newcolors.keys(): + for dbOption in list(newcolors.keys()): option = string.lower(dbOption) try: value = str(widget.cget(option))RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwComboBox.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwComboBoxDialog.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwCounter.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwCounterDialog.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwDialog.py except: continue if oldpalette is None or value == oldpalette[dbOption]: - apply(widget.configure, (), {option : newcolors[dbOption]}) + widget.configure(*(), **{option : newcolors[dbOption]}) for child in widget.winfo_children(): _recolorTree(child, oldpalette, newcolors) @@ -336,7 +336,7 @@ root = widget._root() if not hasattr(widget, '_Pmw_oldpalette'): widget._Pmw_oldpalette = getdefaultpalette(root) - newpalette = apply(_calcPalette, (root, background,), kw) + newpalette = _calcPalette(*(root, background,), **kw) _recolorTree(widget, widget._Pmw_oldpalette, newpalette) widget._Pmw_oldpalette = newpalette --- Pmw/Pmw_1_3_3/lib/PmwComboBox.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwComboBox.py (refactored) @@ -3,8 +3,9 @@ import os import string import types -import Tkinter +import tkinter import Pmw +import collections class ComboBox(Pmw.MegaWidget): def __init__(self, parent = None, **kw): @@ -46,7 +47,7 @@ # Create the arrow button. self._arrowBtn = self.createcomponent('arrowbutton', (), None, - Tkinter.Canvas, (interior,), borderwidth = 2, + tkinter.Canvas, (interior,), borderwidth = 2, relief = 'raised', width = 16, height = 16) if 'n' in self['sticky']: @@ -64,7 +65,7 @@ # Create the dropdown window. self._popup = self.createcomponent('popup', (), None, - Tkinter.Toplevel, (interior,)) + tkinter.Toplevel, (interior,)) self._popup.withdraw() self._popup.overrideredirect(1) @@ -167,13 +168,13 @@ return self._selectCmd() def selectitem(self, index, setentry=1): - if type(index) == types.StringType: + if type(index) == bytes: text = index items = self._list.get(0, 'end') if text in items: index = list(items).index(text) else: - raise IndexError, 'index "%s" not found' % text + raise IndexError('index "%s" not found' % text) elif setentry: text = self._list.get(0, 'end')[index] @@ -270,7 +271,7 @@ self._entryfield.setentry(item) cmd = self['selectioncommand'] - if callable(cmd): + if isinstance(cmd, collections.Callable): if event is None: # Return result of selectioncommand for invoke() method. return cmd(item) --- Pmw/Pmw_1_3_3/lib/PmwComboBoxDialog.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwComboBoxDialog.py (refactored) @@ -38,7 +38,7 @@ self._combobox.pack(side='top', expand='true', fill='both', padx = self['borderx'], pady = self['bordery']) - if not kw.has_key('activatecommand'): + if 'activatecommand' not in kw: # Whenever this dialog is activated, set the focus to the # ComboBox's listbox widget. listbox = self.component('listbox') --- Pmw/Pmw_1_3_3/lib/PmwCounter.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwCounter.py (refactored) @@ -1,8 +1,9 @@ import string import sys import types -import Tkinter +import tkinter import Pmw +import collections class Counter(Pmw.MegaWidget): @@ -42,14 +43,14 @@ # be raised (but not around the label). if self['labelpos'] is None: frame = interior - if not kw.has_key('hull_relief'): + if 'hull_relief' not in kw: frame.configure(relief = 'raised') - if not kw.has_key('hull_borderwidth'): + if 'hull_borderwidth' not in kw: frame.configure(borderwidth = 1) else: frame = self.createcomponent('frame', (), None, - Tkinter.Frame, (interior,), + tkinter.Frame, (interior,), relief = 'raised', borderwidth = 1) frame.grid(column=2, row=2, sticky=self['sticky']) interior.grid_columnconfigure(2, weight=1) @@ -58,7 +59,7 @@ # Create the down arrow. self._downArrowBtn = self.createcomponent('downarrow', (), 'Arrow', - Tkinter.Canvas, (frame,), + tkinter.Canvas, (frame,), width = 16, height = 16, relief = 'raised', borderwidth = 2) # Create the entry field. @@ -69,7 +70,7 @@ # Create the up arrow. self._upArrowBtn = self.createcomponent('uparrow', (), 'Arrow', - Tkinter.Canvas, (frame,), + tkinter.Canvas, (frame,), width = 16, height = 16, relief = 'raised', borderwidth = 2) padx = self['padx'] @@ -82,7 +83,7 @@ self._upArrowBtn.grid(column = 2, row = 0) frame.grid_columnconfigure(1, weight = 1) frame.grid_rowconfigure(0, weight = 1) - if Tkinter.TkVersion >= 4.2: + if tkinter.TkVersion >= 4.2: frame.grid_columnconfigure(0, pad = padx) frame.grid_columnconfigure(2, pad = padx) frame.grid_rowconfigure(0, pad = pady) @@ -94,13 +95,13 @@ frame.grid_columnconfigure(0, weight = 1) frame.grid_rowconfigure(0, weight = 1) frame.grid_rowconfigure(2, weight = 1) - if Tkinter.TkVersion >= 4.2: + if tkinter.TkVersion >= 4.2: frame.grid_rowconfigure(0, pad = pady) frame.grid_rowconfigure(2, pad = pady) frame.grid_columnconfigure(0, pad = padx) else: - raise ValueError, 'bad orient option ' + repr(orient) + \ - ': must be either \'horizontal\' or \'vertical\'' + raise ValueError('bad orient option ' + repr(orient) + \ + ': must be either \'horizontal\' or \'vertical\'') self.createlabel(interior) @@ -193,9 +194,9 @@ def _datatype(self): datatype = self['datatype'] - if type(datatype) is types.DictionaryType: + if type(datatype) is dict: self._counterArgs = datatype.copy() - if self._counterArgs.has_key('counter'): + if 'counter' in self._counterArgs: datatype = self._counterArgs['counter'] del self._counterArgs['counter'] else: @@ -203,15 +204,15 @@ else: self._counterArgs = {} - if _counterCommands.has_key(datatype): + if datatype in _counterCommands: self._counterCommand = _counterCommands[datatype] - elif callable(datatype): + elif isinstance(datatype, collections.Callable): self._counterCommand = datatype else: - validValues = _counterCommands.keys() + validValues = list(_counterCommands.keys()) validValues.sort() - raise ValueError, ('bad datatype value "%s": must be a' + - ' function or one of %s') % (datatype, validValues) + raise ValueError(('bad datatype value "%s": must be a' + + ' function or one of %s') % (datatype, validValues)) def _forceCount(self, factor): if not self.valid(): @@ -220,8 +221,7 @@ text = self._counterEntry.get() try: - value = apply(self._counterCommand, - (text, factor, self['increment']), self._counterArgs) + value = self._counterCommand(*(text, factor, self['increment']), **self._counterArgs) except ValueError: self.bell() return @@ -239,8 +239,7 @@ self._timerId = None origtext = self._counterEntry.get() try: - value = apply(self._counterCommand, - (origtext, factor, self['increment']), self._counterArgs) + value = self._counterCommand(*(origtext, factor, self['increment']), **self._counterArgs) except ValueError: # If text is invalid, stop counting. self._stopCounting() --- Pmw/Pmw_1_3_3/lib/PmwCounterDialog.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwCounterDialog.py (refactored) @@ -32,7 +32,7 @@ self._cdCounter.pack(fill='x', expand=1, padx = self['borderx'], pady = self['bordery']) - if not kw.has_key('activatecommand'): + if 'activatecommand' not in kw: # Whenever this dialog is activated, set the focus to the # Counter's entry widget. tkentry = self.component('entry') --- Pmw/Pmw_1_3_3/lib/PmwDialog.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwDialog.py (refactored) @@ -8,8 +8,9 @@ import sys import types -import Tkinter +import tkinter import Pmw +import collections # A Toplevel with a ButtonBox and child site. @@ -42,9 +43,8 @@ # Set up pack options according to the position of the button box. pos = self['buttonboxpos'] if pos not in 'nsew': - raise ValueError, \ - 'bad buttonboxpos option "%s": should be n, s, e, or w' \ - % pos + raise ValueError('bad buttonboxpos option "%s": should be n, s, e, or w' \RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwEntryField.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwGroup.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwHistoryText.py + % pos) if pos in 'ns': orient = 'horizontal' @@ -72,14 +72,14 @@ if width > 0: self._separator = self.createcomponent('separator', (), None, - Tkinter.Frame, (oldInterior,), relief = 'sunken', + tkinter.Frame, (oldInterior,), relief = 'sunken', height = width, width = width, borderwidth = width / 2) self._separator.pack(side = side, fill = fill) # Create the child site. self.__dialogChildSite = self.createcomponent('dialogchildsite', (), None, - Tkinter.Frame, (oldInterior,)) + tkinter.Frame, (oldInterior,)) self.__dialogChildSite.pack(side=side, fill='both', expand=1) self.oldButtons = () @@ -128,7 +128,7 @@ return command = self['command'] - if callable(command): + if isinstance(command, collections.Callable): return command(name) else: if self.active(): @@ -138,9 +138,8 @@ def _buttons(self): buttons = self['buttons'] - if type(buttons) != types.TupleType and type(buttons) != types.ListType: - raise ValueError, \ - 'bad buttons option "%s": should be a tuple' % str(buttons) + if type(buttons) != tuple and type(buttons) != list: + raise ValueError('bad buttons option "%s": should be a tuple' % str(buttons)) if self.oldButtons == buttons: return --- Pmw/Pmw_1_3_3/lib/PmwEntryField.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwEntryField.py (refactored) @@ -3,8 +3,9 @@ import re import string import types -import Tkinter +import tkinter import Pmw +import collections # Possible return values of validation functions. OK = 1 @@ -39,7 +40,7 @@ interior = self.interior() self._entryFieldEntry = self.createcomponent('entry', (), None, - Tkinter.Entry, (interior,)) + tkinter.Entry, (interior,)) self._entryFieldEntry.grid(column=2, row=2, sticky=self['sticky']) if self['value'] != '': self.__setEntry(self['value']) @@ -63,21 +64,21 @@ # bindings, so that a reference to root is created by # bind_class rather than a reference to self, which would # prevent object cleanup. - if EntryField._classBindingsDefinedFor != Tkinter._default_root: + if EntryField._classBindingsDefinedFor != tkinter._default_root: tagList = self._entryFieldEntry.bindtags() - root = Tkinter._default_root + root = tkinter._default_root allSequences = {} for tag in tagList: sequences = root.bind_class(tag) - if type(sequences) is types.StringType: + if type(sequences) is bytes: # In old versions of Tkinter, bind_class returns a string sequences = root.tk.splitlist(sequences) for sequence in sequences: allSequences[sequence] = None - for sequence in allSequences.keys(): + for sequence in list(allSequences.keys()): root.bind_class('EntryFieldPre', sequence, _preProcess) root.bind_class('EntryFieldPost', sequence, _postProcess) @@ -105,9 +106,9 @@ while 1: traversedValidators.append(validator) - if extraValidators.has_key(validator): + if validator in extraValidators: validator = extraValidators[validator][index] - elif _standardValidators.has_key(validator): + elif validator in _standardValidators: validator = _standardValidators[validator][index] else: return validator @@ -123,7 +124,7 @@ 'maxstrict' : 1, } opt = self['validate'] - if type(opt) is types.DictionaryType: + if type(opt) is dict: dict.update(opt) else: dict['validator'] = opt @@ -137,7 +138,7 @@ # Look up validator maps and replace 'stringtovalue' field # with the corresponding function. - if dict.has_key('stringtovalue'): + if 'stringtovalue' in dict: stringtovalue = dict['stringtovalue'] strFunction = self._getValidatorFunc(stringtovalue, 1) self._checkValidateFunction( @@ -159,31 +160,31 @@ self._validationArgs = args self._previousText = None - if type(dict['min']) == types.StringType and strFunction is not None: - dict['min'] = apply(strFunction, (dict['min'],), args) - if type(dict['max']) == types.StringType and strFunction is not None: - dict['max'] = apply(strFunction, (dict['max'],), args) + if type(dict['min']) == bytes and strFunction is not None: + dict['min'] = strFunction(*(dict['min'],), **args) + if type(dict['max']) == bytes and strFunction is not None: + dict['max'] = strFunction(*(dict['max'],), **args) self._checkValidity() def _checkValidateFunction(self, function, option, validator): # Raise an error if 'function' is not a function or None. - if function is not None and not callable(function): + if function is not None and not isinstance(function, collections.Callable): extraValidators = self['extravalidators'] - extra = extraValidators.keys() + extra = list(extraValidators.keys()) extra.sort() extra = tuple(extra) - standard = _standardValidators.keys() + standard = list(_standardValidators.keys()) standard.sort() standard = tuple(standard) msg = 'bad %s value "%s": must be a function or one of ' \ 'the standard validators %s or extra validators %s' - raise ValueError, msg % (option, validator, standard, extra) + raise ValueError(msg % (option, validator, standard, extra)) def _executeCommand(self, event = None): cmd = self['command'] - if callable(cmd): + if isinstance(cmd, collections.Callable): if event is None: # Return result of command for invoke() method. return cmd() @@ -214,7 +215,7 @@ return valid cmd = self['modifiedcommand'] - if callable(cmd) and previousText != self._entryFieldEntry.get(): + if isinstance(cmd, collections.Callable) and previousText != self._entryFieldEntry.get(): cmd() return valid @@ -232,7 +233,7 @@ args = self._validationArgs if dict['validator'] is not None: - status = apply(dict['validator'], (text,), args) + status = dict['validator'](*(text,), **args) if status != OK: return status @@ -242,7 +243,7 @@ max = dict['max'] if min is None and max is None: return OK - val = apply(dict['stringtovalue'], (text,), args) + val = dict['stringtovalue'](*(text,), **args) if min is not None and val < min: if dict['minstrict']: return ERROR @@ -262,7 +263,7 @@ if valid == ERROR: # The entry is invalid. cmd = self['invalidcommand'] - if callable(cmd): + if isinstance(cmd, collections.Callable): cmd() if self.hulldestroyed(): # The invalidcommand destroyed us. @@ -329,7 +330,7 @@ def setvalue(self, text): return self.setentry(text) -Pmw.forwardmethods(EntryField, Tkinter.Entry, '_entryFieldEntry') +Pmw.forwardmethods(EntryField, tkinter.Entry, '_entryFieldEntry') # ====================================================================== @@ -454,5 +455,5 @@ # The function specified by the 'command' option may have destroyed # the megawidget in a binding earlier in bindtags, so need to check. - if _entryCache.has_key(event.widget): + if event.widget in _entryCache: _entryCache[event.widget]._postProcess() --- Pmw/Pmw_1_3_3/lib/PmwGroup.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwGroup.py (refactored) @@ -1,5 +1,5 @@ import string -import Tkinter +import tkinter import Pmw def aligngrouptags(groups): @@ -54,19 +54,19 @@ self._ring = self.createcomponent( 'ring', (), None, - Tkinter.Frame, (interior,), + tkinter.Frame, (interior,), ) self._groupChildSite = self.createcomponent( 'groupchildsite', (), None, - Tkinter.Frame, (self._ring,) + tkinter.Frame, (self._ring,) ) self._tag = self.createcomponent( 'tag', (), None, - Tkinter.Label, (interior,), + tkinter.Label, (interior,), ) ringBorder = (string.atoi(str(self._ring.cget('borderwidth'))) + --- Pmw/Pmw_1_3_3/lib/PmwHistoryText.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwHistoryText.py (refactored) @@ -1,4 +1,5 @@ import PmwRefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwLabeledWidget.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwLoader.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwLogicalFont.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwMainMenuBar.py +import collections _ORIGINAL = 0 _MODIFIED = 1 @@ -64,7 +65,7 @@ # so allow the 'Next' button to go to the entry after this one. self._pastIndex = self._currIndex nextState = 'normal' - if callable(historycommand): + if isinstance(historycommand, collections.Callable): historycommand('normal', nextState) # Create the new history entry. @@ -74,7 +75,7 @@ self._lastIndex = self._lastIndex + 1 self._currIndex = self._lastIndex - def next(self): + def __next__(self): if self._currIndex == self._lastIndex and self._pastIndex is None: self.bell() else: @@ -131,7 +132,7 @@ if self._currIndex == 0: prevstate = 'disabled' historycommand = self['historycommand'] - if callable(historycommand): + if isinstance(historycommand, collections.Callable): historycommand(prevstate, nextstate) currentEntry = self._list[self._currIndex] else: --- Pmw/Pmw_1_3_3/lib/PmwLabeledWidget.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwLabeledWidget.py (refactored) @@ -1,4 +1,4 @@ -import Tkinter +import tkinter import Pmw class LabeledWidget(Pmw.MegaWidget): @@ -20,7 +20,7 @@ interior = Pmw.MegaWidget.interior(self) self._labelChildSite = self.createcomponent('labelchildsite', (), None, - Tkinter.Frame, (interior,)) + tkinter.Frame, (interior,)) self._labelChildSite.grid(column=2, row=2, sticky=self['sticky']) interior.grid_columnconfigure(2, weight=1) interior.grid_rowconfigure(2, weight=1) --- Pmw/Pmw_1_3_3/lib/PmwLoader.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwLoader.py (refactored) @@ -33,15 +33,14 @@ if self._version == version: return if self._initialised: - raise ValueError, 'Cannot change Pmw version after initialisation' + raise ValueError('Cannot change Pmw version after initialisation') self._version = version def setalphaversions(self, *alpha_versions): if self._alpha_versions == alpha_versions: return if self._initialised: - raise ValueError, \ - 'Cannot change Pmw alpha versions after initialisation' + raise ValueError('Cannot change Pmw alpha versions after initialisation') self._alpha_versions = alpha_versions def version(self, alpha = 0): @@ -53,7 +52,7 @@ def installedversions(self, alpha = 0): rtn = [] if alpha: - dirs = filter(lambda x: x[:5] == 'Alpha', self._dirs) + dirs = [x for x in self._dirs if x[:5] == 'Alpha'] dirs.sort() dirs.reverse() for dir in dirs: @@ -87,12 +86,12 @@ try: basemodule = self._getmodule(path + '.Pmw' + _BASEMODULE) break - except ImportError, msg: + except ImportError as msg: if path == searchpath[-1]: # No PmwBase module found. - raise ImportError, msg + raise ImportError(msg) - for k,v in basemodule.__dict__.items(): + for k,v in list(basemodule.__dict__.items()): if k[0] is not '_' and type(v) != types.ModuleType: self.__dict__[k] = v @@ -103,29 +102,29 @@ '_functions' : {}, '_modules' : {}, } - for name in dict.keys(): + for name in list(dict.keys()): self.__dict__[name] = {} searchpath.reverse() for path in searchpath: - pathbit = apply(os.path.join, tuple(string.split(path[5:], '.'))) + pathbit = os.path.join(*tuple(string.split(path[5:], '.'))) lpath = os.path.join(self._dirpath, pathbit) d = {} - execfile(os.path.join(lpath,_PMW_DEF), d) - for k,v in d.items(): - if dict.has_key(k): - if type(v) == types.TupleType: + exec(compile(open(os.path.join(lpath,_PMW_DEF)).read(), os.path.join(lpath,_PMW_DEF), 'exec'), d) + for k,v in list(d.items()): + if k in dict: + if type(v) == tuple: for item in v: modpath = path + '.Pmw' + item dict[k][item] = modpath - elif type(v) == types.DictionaryType: - for k1, v1 in v.items(): + elif type(v) == dict: + for k1, v1 in list(v.items()): modpath = path + '.Pmw' + v1 dict[k][k1] = modpath self.__dict__.update(dict) - self._widgets_keys = self._widgets.keys() - self._extraWidgets_keys = self._extraWidgets.keys() - self._functions_keys = self._functions.keys() - self._modules_keys = self._modules.keys() + self._widgets_keys = list(self._widgets.keys()) + self._extraWidgets_keys = list(self._extraWidgets.keys()) + self._functions_keys = list(self._functions.keys()) + self._modules_keys = list(self._modules.keys()) self._initialised = 1 @@ -133,7 +132,7 @@ if not self._initialised: self._initialise() # Beware: _initialise may have defined 'name' - if name in self.__dict__.keys(): + if name in list(self.__dict__.keys()): return self.__dict__[name] # The requested attribute is not yet set. Look it up in the @@ -171,4 +170,4 @@ return cls # The attribute is not known by Pmw, report an error. - raise AttributeError, name + raise AttributeError(name) --- Pmw/Pmw_1_3_3/lib/PmwLogicalFont.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwLogicalFont.py (refactored) @@ -33,25 +33,25 @@ root.option_add('*Text*Font', textFont, 'userDefault') def logicalfont(name='Helvetica', sizeIncr = 0, **kw): - if not _fontInfo.has_key(name): - raise ValueError, 'font %s does not exist' % name + if name not in _fontInfo: + raise ValueError('font %s does not exist' % name) rtn = [] for field in _fontFields: - if kw.has_key(field): + if field in kw: logicalValue = kw[field] - elif _fontInfo[name].has_key(field): + elif field in _fontInfo[name]: logicalValue = _fontInfo[name][field] else: logicalValue = '*' - if _propertyAliases[name].has_key((field, logicalValue)): + if (field, logicalValue) in _propertyAliases[name]: realValue = _propertyAliases[name][(field, logicalValue)] - elif _propertyAliases[name].has_key((field, None)): + elif (field, None) in _propertyAliases[name]: realValue = _propertyAliases[name][(field, None)] - elif _propertyAliases[None].has_key((field, logicalValue)): + elif (field, logicalValue) in _propertyAliases[None]: realValue = _propertyAliases[None][(field, logicalValue)] - elif _propertyAliases[None].has_key((field, None)): + elif (field, None) in _propertyAliases[None]: realValue = _propertyAliases[None][(field, None)] else: realValue = logicalValue @@ -66,7 +66,7 @@ return string.join(rtn, '-') def logicalfontnames(): - return _fontInfo.keys() + return list(_fontInfo.keys()) if os.name == 'nt': _fontSize = 16 --- Pmw/Pmw_1_3_3/lib/PmwMainMenuBar.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwMainMenuBar.py (refactored) @@ -2,7 +2,7 @@ import string import types -import Tkinter +import tkinter import Pmw class MainMenuBar(Pmw.MegaArchetype): @@ -19,7 +19,7 @@ self.defineoptions(kw, optiondefs, dynamicGroups = ('Menu',)) # Initialise the base class (after defining the options). - Pmw.MegaArchetype.__init__(self, parent, Tkinter.Menu) + Pmw.MegaArchetype.__init__(self, parent, tkinter.Menu) self._menuInfo = {} self._menuInfo[None] = (None, []) @@ -91,19 +91,19 @@ traverseSpec, kw): if (menuName) in self.components(): - raise ValueError, 'menu "%s" already exists' % menuName + raise ValueError('menu "%s" already exists' % menuName) menukw = {} - if kw.has_key('tearoff'): + if 'tearoff' in kw: menukw['tearoff'] = kw['tearoff'] del kw['tearoff'] else: menukw['tearoff'] = 0 - if kw.has_key('name'): + if 'name' in kw: menukw['name'] = kw['name'] del kw['name'] - if not kw.has_key('label'): + if 'label' not in kw: kw['label'] = menuName self._addHotkeyToOptions(parentMenuName, kw, traverseSpec) @@ -117,11 +117,11 @@ else: parentMenu = self.component(parentMenuName) - apply(parentMenu.add_cascade, (), kw)RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwMenuBar.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwMessageBar.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwMessageDialog.py - - menu = apply(self.createcomponent, (menuName, + parentMenu.add_cascade(*(), **kw) + + menu = self.createcomponent(*(menuName, (), 'Menu', - Tkinter.Menu, (parentMenu,)), menukw) + tkinter.Menu, (parentMenu,)), **menukw) parentMenu.entryconfigure('end', menu = menu) self._menuInfo[parentMenuName][1].append(statusHelp) @@ -150,18 +150,18 @@ elif itemType == 'cascade': command = menu.add_cascade else: - raise ValueError, 'unknown menuitem type "%s"' % itemType + raise ValueError('unknown menuitem type "%s"' % itemType) self._menuInfo[menuName][1].append(statusHelp) - apply(command, (), kw) + command(*(), **kw) def _addHotkeyToOptions(self, menuName, kw, traverseSpec): - if (not self['hotkeys'] or kw.has_key('underline') or - not kw.has_key('label')): + if (not self['hotkeys'] or 'underline' in kw or + 'label' not in kw): return - if type(traverseSpec) == types.IntType: + if type(traverseSpec) == int: kw['underline'] = traverseSpec return @@ -185,7 +185,7 @@ name = kw['label'] - if type(traverseSpec) == types.StringType: + if type(traverseSpec) == bytes: lowerLetter = string.lower(traverseSpec) if traverseSpec in name and lowerLetter not in hotkeyList: kw['underline'] = string.index(name, traverseSpec) @@ -222,4 +222,4 @@ if balloon is not None: balloon.clearstatus() -Pmw.forwardmethods(MainMenuBar, Tkinter.Menu, '_hull') +Pmw.forwardmethods(MainMenuBar, tkinter.Menu, '_hull') --- Pmw/Pmw_1_3_3/lib/PmwMenuBar.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwMenuBar.py (refactored) @@ -2,7 +2,7 @@ import string import types -import Tkinter +import tkinter import Pmw class MenuBar(Pmw.MegaWidget): @@ -73,13 +73,13 @@ self.destroycomponent(menuName + '-menu') def disableall(self): - for menuName in self._menuInfo.keys(): + for menuName in list(self._menuInfo.keys()): if self._menuInfo[menuName][0] is None: menubutton = self.component(menuName + '-button') menubutton.configure(state = 'disabled') def enableall(self): - for menuName in self._menuInfo.keys(): + for menuName in list(self._menuInfo.keys()): if self._menuInfo[menuName][0] is None: menubutton = self.component(menuName + '-button') menubutton.configure(state = 'normal') @@ -100,24 +100,24 @@ traverseSpec, side, textKey, kw): if (menuName + '-menu') in self.components(): - raise ValueError, 'menu "%s" already exists' % menuName + raise ValueError('menu "%s" already exists' % menuName) menukw = {} - if kw.has_key('tearoff'): + if 'tearoff' in kw: menukw['tearoff'] = kw['tearoff'] del kw['tearoff'] else: menukw['tearoff'] = 0 - if not kw.has_key(textKey): + if textKey not in kw: kw[textKey] = menuName self._addHotkeyToOptions(parentMenuName, kw, textKey, traverseSpec) if parentMenuName is None: - button = apply(self.createcomponent, (menuName + '-button', + button = self.createcomponent(*(menuName + '-button', (), 'Button', - Tkinter.Menubutton, (self.interior(),)), kw) + tkinter.Menubutton, (self.interior(),)), **kw) button.pack(side=side, padx = self['padx']) balloon = self['balloon'] if balloon is not None: @@ -125,12 +125,12 @@ parentMenu = button else: parentMenu = self.component(parentMenuName + '-menu') - apply(parentMenu.add_cascade, (), kw) + parentMenu.add_cascade(*(), **kw) self._menuInfo[parentMenuName][1].append(statusHelp) - menu = apply(self.createcomponent, (menuName + '-menu', + menu = self.createcomponent(*(menuName + '-menu', (), 'Menu', - Tkinter.Menu, (parentMenu,)), menukw) + tkinter.Menu, (parentMenu,)), **menukw) if parentMenuName is None: button.configure(menu = menu) else: @@ -165,24 +165,24 @@ elif itemType == 'cascade': command = menu.add_cascade else: - raise ValueError, 'unknown menuitem type "%s"' % itemType + raise ValueError('unknown menuitem type "%s"' % itemType) self._menuInfo[menuName][1].append(statusHelp) - apply(command, (), kw) + command(*(), **kw) def _addHotkeyToOptions(self, menuName, kw, textKey, traverseSpec): - if (not self['hotkeys'] or kw.has_key('underline') or - not kw.has_key(textKey)): + if (not self['hotkeys'] or 'underline' in kw or + textKey not in kw): return - if type(traverseSpec) == types.IntType: + if type(traverseSpec) == int: kw['underline'] = traverseSpec return hotkeyList = [] if menuName is None: - for menuName in self._menuInfo.keys(): + for menuName in list(self._menuInfo.keys()): if self._menuInfo[menuName][0] is None: menubutton = self.component(menuName + '-button') underline = string.atoi(str(menubutton.cget('underline'))) @@ -209,7 +209,7 @@ name = kw[textKey] - if type(traverseSpec) == types.StringType: + if type(traverseSpec) == bytes: lowerLetter = string.lower(traverseSpec) if traverseSpec in name and lowerLetter not in hotkeyList: kw['underline'] = string.index(name, traverseSpec) --- Pmw/Pmw_1_3_3/lib/PmwMessageBar.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwMessageBar.py (refactored) @@ -1,7 +1,7 @@ # Class to display messages in an information line. import string -import Tkinter +import tkinter import Pmw class MessageBar(Pmw.MegaWidget): @@ -35,12 +35,12 @@ interior = self.interior() self._messageBarEntry = self.createcomponent('entry', (), None, - Tkinter.Entry, (interior,)) + tkinter.Entry, (interior,)) # Can't always use 'disabled', since this greys out text in Tk 8.4.2 try: self._messageBarEntry.configure(state = 'readonly') - except Tkinter.TclError: + except tkinter.TclError: self._messageBarEntry.configure(state = 'disabled') self._messageBarEntry.grid(column=2, row=2, sticky=self['sticky']) @@ -51,7 +51,7 @@ # Initialise instance variables. self._numPriorities = 0 - for info in self['messagetypes'].values(): + for info in list(self['messagetypes'].values()): if self._numPriorities < info[0]: self._numPriorities = info[0] @@ -111,7 +111,7 @@ def resetmessages(self, type): priority = self['messagetypes'][type][0] self._clearActivemessage(priority) - for messagetype, info in self['messagetypes'].items(): + for messagetype, info in list(self['messagetypes'].items()): thisPriority = info[0] showtime = info[1] if thisPriority < priority and showtime != 0: @@ -137,7 +137,7 @@ # Can't always use 'disabled', since this greys out text in Tk 8.4.2 try: self._messageBarEntry.configure(state = 'readonly') - except Tkinter.TclError: + except tkinter.TclError: self._messageBarEntry.configure(state = 'disabled') -Pmw.forwardmethods(MessageBar, Tkinter.Entry, '_messageBarEntry') +Pmw.forwardmethods(MessageBar, tkinter.Entry, '_messageBarEntry') --- Pmw/Pmw_1_3_3/lib/PmwMessageDialog.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwMessageDialog.py (refactored) @@ -1,6 +1,6 @@ # Based on iwidgets2.2.0/messagedialog.itk code. -import Tkinter +import tkinter import Pmw class MessageDialog(Pmw.Dialog): @@ -24,7 +24,7 @@ self._message = self.createcomponent('message',RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwNoteBook.py (), None, - Tkinter.Label, (interior,)) + tkinter.Label, (interior,)) iconpos = self['iconpos'] iconmargin = self['iconmargin'] @@ -37,11 +37,10 @@ else: self._icon = self.createcomponent('icon', (), None, - Tkinter.Label, (interior,)) + tkinter.Label, (interior,)) if iconpos not in 'nsew': - raise ValueError, \ - 'bad iconpos option "%s": should be n, s, e, or w' \ - % iconpos + raise ValueError('bad iconpos option "%s": should be n, s, e, or w' \ + % iconpos) if iconpos in 'nw': icon = 1 --- Pmw/Pmw_1_3_3/lib/PmwNoteBook.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwNoteBook.py (refactored) @@ -1,6 +1,6 @@ import string import types -import Tkinter +import tkinter import Pmw class NoteBook(Pmw.MegaArchetype): @@ -23,15 +23,14 @@ self.defineoptions(kw, optiondefs, dynamicGroups = ('Page', 'Tab')) # Initialise the base class (after defining the options). - Pmw.MegaArchetype.__init__(self, parent, Tkinter.Canvas) + Pmw.MegaArchetype.__init__(self, parent, tkinter.Canvas) self.bind('', self._handleMap) self.bind('', self._handleConfigure) tabpos = self['tabpos'] if tabpos is not None and tabpos != 'n': - raise ValueError, \ - 'bad tabpos option %s: should be n or None' % repr(tabpos) + raise ValueError('bad tabpos option %s: should be n or None' % repr(tabpos)) self._withTabs = (tabpos is not None) self._pageMargin = self['pagemargin'] self._borderWidth = self['borderwidth'] @@ -121,9 +120,9 @@ self.initialiseoptions() def insert(self, pageName, before = 0, **kw): - if self._pageAttrs.has_key(pageName): + if pageName in self._pageAttrs: msg = 'Page "%s" already exists.' % pageName - raise ValueError, msg + raise ValueError(msg) # Do this early to catch bad spec before creating any items. beforeIndex = self.index(before, 1) @@ -137,7 +136,7 @@ } # Divide the keyword options into the 'page_' and 'tab_' options. - for key in kw.keys(): + for key in list(kw.keys()): if key[:5] == 'page_': pageOptions[key[5:]] = kw[key] del kw[key] @@ -145,12 +144,12 @@ tabOptions[key[4:]] = kw[key] del kw[key] else: - raise KeyError, 'Unknown option "' + key + '"' + raise KeyError('Unknown option "' + key + '"') # Create the frame to contain the page. - page = apply(self.createcomponent, (pageName, + page = self.createcomponent(*(pageName, (), 'Page', - Tkinter.Frame, self._hull), pageOptions) + tkinter.Frame, self._hull), **pageOptions) attributes = {} attributes['page'] = page @@ -161,9 +160,9 @@ def raiseThisPage(self = self, pageName = pageName): self.selectpage(pageName) tabOptions['command'] = raiseThisPage - tab = apply(self.createcomponent, (pageName + '-tab', + tab = self.createcomponent(*(pageName + '-tab', (), 'Tab', - Tkinter.Button, self._hull), tabOptions) + tkinter.Button, self._hull), **tabOptions) if self['arrownavigation']: # Allow the use of the arrow keys for Tab navigation: @@ -201,7 +200,7 @@ return page def add(self, pageName, **kw): - return apply(self.insert, (pageName, len(self._pageNames)), kw) + return self.insert(*(pageName, len(self._pageNames)), **kw) def delete(self, *pageNames): newTopPage = 0 @@ -227,7 +226,7 @@ if self._withTabs: self.destroycomponent(pageName + '-tab') - apply(self._hull.delete, pageInfo['tabitems']) + self._hull.delete(*pageInfo['tabitems']) self.destroycomponent(pageName) del self._pageAttrs[pageName] del self._pageNames[pageIndex] @@ -250,7 +249,7 @@ return list(self._pageNames) def getcurselection(self): - if self._pending.has_key('topPage'): + if 'topPage' in self._pending: return self._pending['topPage'] else: return self._topPageName @@ -264,30 +263,29 @@ def index(self, index, forInsert = 0): listLength = len(self._pageNames) - if type(index) == types.IntType: + if type(index) == int: if forInsert and index <= listLength: return index elif not forInsert and index < listLength: return index else: - raise ValueError, 'index "%s" is out of range' % index + raise ValueError('index "%s" is out of range' % index) elif index is Pmw.END: if forInsert: return listLength elif listLength > 0: return listLength - 1 else: - raise ValueError, 'NoteBook has no pages' + raise ValueError('NoteBook has no pages') elif index is Pmw.SELECT: if listLength == 0: - raise ValueError, 'NoteBook has no pages' + raise ValueError('NoteBook has no pages') return self._pageNames.index(self.getcurselection()) else: if index in self._pageNames: return self._pageNames.index(index) validValues = 'a name, a number, Pmw.END or Pmw.SELECT' - raise ValueError, \ - 'bad index "%s": must be %s' % (index, validValues) + raise ValueError('bad index "%s": must be %s' % (index, validValues)) def selectpage(self, page): pageName = self._pageNames[self.index(page)] @@ -344,7 +342,7 @@ if self._withTabs: maxTabHeight = 0 - for pageInfo in self._pageAttrs.values(): + for pageInfo in list(self._pageAttrs.values()): if maxTabHeight < pageInfo['tabreqheight']: maxTabHeight = pageInfo['tabreqheight'] height = height + maxTabHeight + self._borderWidth * 1.5 @@ -419,18 +417,18 @@ self.tabBottom = canvasBorder oldTabBottom = self.tabBottom - if self._pending.has_key('borderColor'): + if 'borderColor' in self._pending: self._lightBorderColor, self._darkBorderColor = \ Pmw.Color.bordercolors(self, self['hull_background']) # Draw all the tabs. - if self._withTabs and (self._pending.has_key('tabs') or - self._pending.has_key('size')): + if self._withTabs and ('tabs' in self._pending or + 'size' in self._pending): # Find total requested width and maximum requested height # of tabs. sumTabReqWidth = 0 maxTabHeight = 0 - for pageInfo in self._pageAttrs.values(): + for pageInfo in list(self._pageAttrs.values()): sumTabReqWidth = sumTabReqWidth + pageInfo['tabreqwidth'] if maxTabHeight < pageInfo['tabreqheight']: maxTabHeight = pageInfo['tabreqheight'] @@ -499,8 +497,8 @@ # Redraw shadow under tabs so that it appears that tab for old # top page is lowered and that tab for new top page is raised. - if self._withTabs and (self._pending.has_key('topPage') or - self._pending.has_key('tabs') or self._pending.has_key('size')): + if self._withTabs and ('topPage' in self._pending or + 'tabs' in self._pending or 'size' in self._pending): if self.getcurselection() is None: # No pages, so draw line across top of page area. @@ -541,7 +539,7 @@ self.tag_raise(self._pageTop2Border) # Position the page border shadows. - if self._pending.has_key('size') or oldTabBottom != self.tabBottom: + if 'size' in self._pending or oldTabBottom != self.tabBottom: self.coords(self._pageLeftBorder, canvasBorder, self.tabBottom, @@ -574,7 +572,7 @@ ) # Color borders. - if self._pending.has_key('borderColor'): + if 'borderColor' in self._pending: self.itemconfigure('lighttag', fill = self._lightBorderColor)RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwOptionMenu.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwPanedWidget.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwPromptDialog.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwRadioSelect.py self.itemconfigure('darktag', fill = self._darkBorderColor) @@ -601,7 +599,7 @@ # page (eg: initially or when all pages deleted). # 3) tab height has changed, due to difference in the height of a tab if (newTopPage is not None or \ - self._pending.has_key('size') and self._topPageName is not None + 'size' in self._pending and self._topPageName is not None or oldTabBottom != self.tabBottom): self.itemconfigure(self._topPageItem, width = hullWidth - 2 * canvasBorder - pageBorder * 2, @@ -614,4 +612,4 @@ # Need to do forwarding to get the pack, grid, etc methods. # Unfortunately this means that all the other canvas methods are also # forwarded. -Pmw.forwardmethods(NoteBook, Tkinter.Canvas, '_hull') +Pmw.forwardmethods(NoteBook, tkinter.Canvas, '_hull') --- Pmw/Pmw_1_3_3/lib/PmwOptionMenu.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwOptionMenu.py (refactored) @@ -1,7 +1,8 @@ import types -import Tkinter +import tkinter import Pmw import sys +import collections class OptionMenu(Pmw.MegaWidget): @@ -27,7 +28,7 @@ self._menubutton = self.createcomponent('menubutton', (), None, - Tkinter.Menubutton, (interior,), + tkinter.Menubutton, (interior,), borderwidth = 2, indicatoron = 1, relief = 'raised', @@ -40,7 +41,7 @@ self._menu = self.createcomponent('menu', (), None, - Tkinter.Menu, (self._menubutton,), + tkinter.Menu, (self._menubutton,), tearoff=0 ) self._menubutton.configure(menu = self._menu) @@ -112,27 +113,26 @@ def index(self, index): listLength = len(self._itemList) - if type(index) == types.IntType: + if type(index) == int: if index < listLength: return index else: - raise ValueError, 'index "%s" is out of range' % index + raise ValueError('index "%s" is out of range' % index) elif index is Pmw.END: if listLength > 0: return listLength - 1 else: - raise ValueError, 'OptionMenu has no items' + raise ValueError('OptionMenu has no items') else: if index is Pmw.SELECT: if listLength > 0: index = self.getcurselection() else: - raise ValueError, 'OptionMenu has no items' + raise ValueError('OptionMenu has no items') if index in self._itemList: return self._itemList.index(index) - raise ValueError, \ - 'bad index "%s": must be a ' \ - 'name, a number, Pmw.END or Pmw.SELECT' % (index,) + raise ValueError('bad index "%s": must be a ' \ + 'name, a number, Pmw.END or Pmw.SELECT' % (index,)) def invoke(self, index = Pmw.SELECT): index = self.index(index) @@ -144,5 +144,5 @@ self.setvalue(text) command = self['command'] - if callable(command): + if isinstance(command, collections.Callable): return command(text) --- Pmw/Pmw_1_3_3/lib/PmwPanedWidget.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwPanedWidget.py (refactored) @@ -4,8 +4,9 @@ import string import sys import types -import Tkinter +import tkinter import Pmw +import collections class PanedWidget(Pmw.MegaWidget): @@ -31,8 +32,8 @@ self.bind('', self._handleConfigure) if self['orient'] not in ('horizontal', 'vertical'): - raise ValueError, 'bad orient option ' + repr(self['orient']) + \ - ': must be either \'horizontal\' or \'vertical\'' + raise ValueError('bad orient option ' + repr(self['orient']) + \ + ': must be either \'horizontal\' or \'vertical\'') self._separatorThickness = self['separatorthickness'] self._handleSize = self['handlesize'] @@ -74,7 +75,7 @@ self._paneNames[insertPos:insertPos] = [name] self._frame[name] = self.createcomponent(name, (), 'Frame', - Tkinter.Frame, (self.interior(),)) + tkinter.Frame, (self.interior(),)) # Add separator, if necessary. if len(self._paneNames) > 1: @@ -107,7 +108,7 @@ return self._frame[name] def add(self, name, **kw): - return apply(self.insert, (name, len(self._paneNames)), kw) + return self.insert(*(name, len(self._paneNames)), **kw) def delete(self, name): deletePos = self._nameToIndex(name) @@ -211,8 +212,8 @@ def _parsePaneOptions(self, name, args): # Parse for options. - for arg, value in args.items(): - if type(value) == types.FloatType: + for arg, value in list(args.items()): + if type(value) == float: relvalue = value value = self._absSize(relvalue) else: @@ -225,7 +226,7 @@ elif arg == 'max': self._max[name], self._relmax[name] = value, relvalue else: - raise ValueError, 'keyword must be "size", "min", or "max"' + raise ValueError('keyword must be "size", "min", or "max"') def _absSize(self, relvalue): return int(round(relvalue * self._majorSize)) @@ -246,7 +247,7 @@ # Create the line dividing the panes. sep = self.createcomponent(self._sepName(n), (), 'Separator', - Tkinter.Frame, (self.interior(),), + tkinter.Frame, (self.interior(),), borderwidth = 1, relief = self['separatorrelief']) self._separator.append(sep) @@ -269,7 +270,7 @@ # Create the handle on the dividing line. handle = self.createcomponent(self._buttonName(n), (), 'Handle', - Tkinter.Frame, (self.interior(),), + tkinter.Frame, (self.interior(),), relief = 'raised', borderwidth = 1, width = self._handleSize, @@ -329,11 +330,11 @@ if self['orient'] == 'vertical': self._majorSize = self.winfo_height() self._minorSize = self.winfo_width() - majorspec = Tkinter.Frame.winfo_reqheight + majorspec = tkinter.Frame.winfo_reqheight else: self._majorSize = self.winfo_width() self._minorSize = self.winfo_height() - majorspec = Tkinter.Frame.winfo_reqwidth + majorspec = tkinter.Frame.winfo_reqwidth bw = string.atoi(str(self.cget('hull_borderwidth'))) hl = string.atoi(str(self.cget('hull_highlightthickness'))) @@ -351,7 +352,7 @@ if self._relsize[name] is None: #special case if self._size[name] == 0: - self._size[name] = apply(majorspec, (self._frame[name],)) + self._size[name] = majorspec(*(self._frame[name],)) self._setrel(name) else: self._size[name] = self._absSize(self._relsize[name]) @@ -383,7 +384,7 @@ def _iterate(self, names, proc, n): for i in names: - n = apply(proc, (i, n)) + n = proc(*(i, n)) if n == 0: break @@ -433,8 +434,8 @@ # Invoke the callback command cmd = self['command'] - if callable(cmd): - cmd(map(lambda x, s = self: s._size[x], self._paneNames)) + if isinstance(cmd, collections.Callable): + cmd(list(map(lambda x, s = self: s._size[x], self._paneNames))) def _plotHandles(self): if len(self._paneNames) == 0: --- Pmw/Pmw_1_3_3/lib/PmwPromptDialog.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwPromptDialog.py (refactored) @@ -29,7 +29,7 @@ self._promptDialogEntry.pack(fill='x', expand=1, padx = self['borderx'], pady = self['bordery']) - if not kw.has_key('activatecommand'): + if 'activatecommand' not in kw: # Whenever this dialog is activated, set the focus to the # EntryField's entry widget. tkentry = self.component('entry') --- Pmw/Pmw_1_3_3/lib/PmwRadioSelect.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwRadioSelect.py (refactored) @@ -1,6 +1,7 @@ import types -import Tkinter +import tkinter import Pmw +import collections class RadioSelect(Pmw.MegaWidget): # A collection of several buttons. In single mode, only one @@ -33,7 +34,7 @@ else: self._radioSelectFrame = self.createcomponent('frame', (), None, - Tkinter.Frame, (interior,)) + tkinter.Frame, (interior,)) self._radioSelectFrame.grid(column=2, row=2, sticky='nsew') interior.grid_columnconfigure(2, weight=1) interior.grid_rowconfigure(2, weight=1) @@ -47,22 +48,22 @@ elif self['selectmode'] == 'multiple': self._singleSelect = 0 else: - raise ValueError, 'bad selectmode option "' + \ - self['selectmode'] + '": should be single or multiple' + raise ValueError('bad selectmode option "' + \RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwScrolledCanvas.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwScrolledField.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwScrolledFrame.py + self['selectmode'] + '": should be single or multiple') if self['buttontype'] == 'button': - self.buttonClass = Tkinter.Button + self.buttonClass = tkinter.Button elif self['buttontype'] == 'radiobutton': self._singleSelect = 1 - self.var = Tkinter.StringVar() - self.buttonClass = Tkinter.Radiobutton + self.var = tkinter.StringVar() + self.buttonClass = tkinter.Radiobutton elif self['buttontype'] == 'checkbutton': self._singleSelect = 0 - self.buttonClass = Tkinter.Checkbutton - else: - raise ValueError, 'bad buttontype option "' + \ + self.buttonClass = tkinter.Checkbutton + else: + raise ValueError('bad buttontype option "' + \ self['buttontype'] + \ - '": should be button, radiobutton or checkbutton' + '": should be button, radiobutton or checkbutton') if self._singleSelect: self.selection = None @@ -70,8 +71,8 @@ self.selection = [] if self['orient'] not in ('horizontal', 'vertical'): - raise ValueError, 'bad orient option ' + repr(self['orient']) + \ - ': must be either \'horizontal\' or \'vertical\'' + raise ValueError('bad orient option ' + repr(self['orient']) + \ + ': must be either \'horizontal\' or \'vertical\'') # Check keywords and initialise options. self.initialiseoptions() @@ -117,24 +118,23 @@ # Return the integer index of the button with the given index. listLength = len(self._buttonList) - if type(index) == types.IntType: + if type(index) == int: if index < listLength: return index else: - raise ValueError, 'index "%s" is out of range' % index + raise ValueError('index "%s" is out of range' % index) elif index is Pmw.END: if listLength > 0: return listLength - 1 else: - raise ValueError, 'RadioSelect has no buttons' + raise ValueError('RadioSelect has no buttons') else: for count in range(listLength): name = self._buttonList[count] if index == name: return count validValues = 'a name, a number or Pmw.END' - raise ValueError, \ - 'bad index "%s": must be %s' % (index, validValues) + raise ValueError('bad index "%s": must be %s' % (index, validValues)) def button(self, buttonIndex): name = self._buttonList[self.index(buttonIndex)] @@ -142,27 +142,27 @@ def add(self, componentName, **kw): if componentName in self._buttonList: - raise ValueError, 'button "%s" already exists' % componentName + raise ValueError('button "%s" already exists' % componentName) kw['command'] = \ lambda self=self, name=componentName: self.invoke(name) - if not kw.has_key('text'): + if 'text' not in kw: kw['text'] = componentName if self['buttontype'] == 'radiobutton': - if not kw.has_key('anchor'): + if 'anchor' not in kw: kw['anchor'] = 'w' - if not kw.has_key('variable'): + if 'variable' not in kw: kw['variable'] = self.var - if not kw.has_key('value'): + if 'value' not in kw: kw['value'] = kw['text'] elif self['buttontype'] == 'checkbutton': - if not kw.has_key('anchor'): + if 'anchor' not in kw: kw['anchor'] = 'w' - button = apply(self.createcomponent, (componentName, + button = self.createcomponent(*(componentName, (), 'Button', - self.buttonClass, (self._radioSelectFrame,)), kw) + self.buttonClass, (self._radioSelectFrame,)), **kw) if self['orient'] == 'horizontal': self._radioSelectFrame.grid_rowconfigure(0, weight=1) @@ -209,7 +209,7 @@ if self._singleSelect: self.__setSingleValue(name) command = self['command'] - if callable(command): + if isinstance(command, collections.Callable): return command(name) else: # Multiple selections @@ -230,5 +230,5 @@ state = 1 command = self['command'] - if callable(command): + if isinstance(command, collections.Callable): return command(name, state) --- Pmw/Pmw_1_3_3/lib/PmwScrolledCanvas.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwScrolledCanvas.py (refactored) @@ -1,4 +1,4 @@ -import Tkinter +import tkinter import Pmw class ScrolledCanvas(Pmw.MegaWidget): @@ -31,7 +31,7 @@ # Create a frame widget to act as the border of the canvas. self._borderframe = self.createcomponent('borderframe', (), None, - Tkinter.Frame, (self.origInterior,), + tkinter.Frame, (self.origInterior,), relief = 'sunken', borderwidth = 2, ) @@ -40,7 +40,7 @@ # Create the canvas widget. self._canvas = self.createcomponent('canvas', (), None, - Tkinter.Canvas, (self._borderframe,), + tkinter.Canvas, (self._borderframe,), highlightthickness = 0, borderwidth = 0, ) @@ -49,7 +49,7 @@ # Create the canvas widget. self._canvas = self.createcomponent('canvas', (), None, - Tkinter.Canvas, (self.origInterior,), + tkinter.Canvas, (self.origInterior,), relief = 'sunken', borderwidth = 2, ) @@ -61,7 +61,7 @@ # Create the horizontal scrollbar self._horizScrollbar = self.createcomponent('horizscrollbar', (), 'Scrollbar', - Tkinter.Scrollbar, (self.origInterior,), + tkinter.Scrollbar, (self.origInterior,), orient='horizontal', command=self._canvas.xview ) @@ -69,7 +69,7 @@ # Create the vertical scrollbar self._vertScrollbar = self.createcomponent('vertscrollbar', (), 'Scrollbar', - Tkinter.Scrollbar, (self.origInterior,), + tkinter.Scrollbar, (self.origInterior,), orient='vertical', command=self._canvas.yview ) @@ -128,7 +128,7 @@ self._toggleHorizScrollbar() else: message = 'bad hscrollmode option "%s": should be static, dynamic, or none' % mode - raise ValueError, message + raise ValueError(message) self._configureScrollCommands() @@ -148,7 +148,7 @@ self._toggleVertScrollbar() else: message = 'bad vscrollmode option "%s": should be static, dynamic, or none' % mode - raise ValueError, message + raise ValueError(message) self._configureScrollCommands() @@ -284,6 +284,6 @@ # Need to explicitly forward this to override the stupid # (grid_)bbox method inherited from Tkinter.Frame.Grid. def bbox(self, *args): - return apply(self._canvas.bbox, args) - -Pmw.forwardmethods(ScrolledCanvas, Tkinter.Canvas, '_canvas') + return self._canvas.bbox(*args) + +Pmw.forwardmethods(ScrolledCanvas, tkinter.Canvas, '_canvas') --- Pmw/Pmw_1_3_3/lib/PmwScrolledField.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwScrolledField.py (refactored) @@ -1,4 +1,4 @@ -import Tkinter +import tkinter import Pmw class ScrolledField(Pmw.MegaWidget): @@ -21,12 +21,12 @@ interior = self.interior() self._scrolledFieldEntry = self.createcomponent('entry', (), None, - Tkinter.Entry, (interior,)) + tkinter.Entry, (interior,)) # Can't always use 'disabled', since this greys out text in Tk 8.4.2 try: self._scrolledFieldEntry.configure(state = 'readonly') - except Tkinter.TclError: + except tkinter.TclError: self._scrolledFieldEntry.configure(state = 'disabled') self._scrolledFieldEntry.grid(column=2, row=2, sticky=self['sticky']) @@ -47,7 +47,7 @@ # Can't always use 'disabled', since this greys out text in Tk 8.4.2 try: self._scrolledFieldEntry.configure(state = 'readonly') - except Tkinter.TclError: + except tkinter.TclError: self._scrolledFieldEntry.configure(state = 'disabled') -Pmw.forwardmethods(ScrolledField, Tkinter.Entry, '_scrolledFieldEntry') +Pmw.forwardmethods(ScrolledField, tkinter.Entry, '_scrolledFieldEntry') --- Pmw/Pmw_1_3_3/lib/PmwScrolledFrame.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwScrolledFrame.py (refactored) @@ -1,6 +1,6 @@ import string import types -import Tkinter +import tkinter import Pmw class ScrolledFrame(Pmw.MegaWidget): @@ -36,7 +36,7 @@ # Create a frame widget to act as the border of the clipper. self._borderframe = self.createcomponent('borderframe', (), None, - Tkinter.Frame, (self.origInterior,), + tkinter.Frame, (self.origInterior,), relief = 'sunken',RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwScrolledListBox.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwScrolledText.py borderwidth = 2, ) @@ -45,7 +45,7 @@ # Create the clipping window. self._clipper = self.createcomponent('clipper', (), None, - Tkinter.Frame, (self._borderframe,), + tkinter.Frame, (self._borderframe,), width = 400, height = 300, highlightthickness = 0, @@ -56,7 +56,7 @@ # Create the clipping window. self._clipper = self.createcomponent('clipper', (), None, - Tkinter.Frame, (self.origInterior,), + tkinter.Frame, (self.origInterior,), width = 400, height = 300, relief = 'sunken', @@ -70,7 +70,7 @@ # Create the horizontal scrollbar self._horizScrollbar = self.createcomponent('horizscrollbar', (), 'Scrollbar', - Tkinter.Scrollbar, (self.origInterior,), + tkinter.Scrollbar, (self.origInterior,), orient='horizontal', command=self.xview ) @@ -78,7 +78,7 @@ # Create the vertical scrollbar self._vertScrollbar = self.createcomponent('vertscrollbar', (), 'Scrollbar', - Tkinter.Scrollbar, (self.origInterior,), + tkinter.Scrollbar, (self.origInterior,), orient='vertical', command=self.yview ) @@ -100,7 +100,7 @@ # scrolled. self._frame = self.createcomponent('frame', (), None, - Tkinter.Frame, (self._clipper,) + tkinter.Frame, (self._clipper,) ) # Whenever the clipping window or scrolled frame change size, @@ -143,7 +143,7 @@ # update the frame and the scrollbar. def xview(self, mode = None, value = None, units = None): - if type(value) == types.StringType: + if type(value) == bytes: value = string.atof(value) if mode is None: return self._horizScrollbar.get() @@ -165,7 +165,7 @@ # update the frame and the scrollbar. def yview(self, mode = None, value = None, units = None): - if type(value) == types.StringType: + if type(value) == bytes: value = string.atof(value) if mode is None: return self._vertScrollbar.get() @@ -202,7 +202,7 @@ self._toggleHorizScrollbar() else: message = 'bad hscrollmode option "%s": should be static, dynamic, or none' % mode - raise ValueError, message + raise ValueError(message) def _vscrollMode(self): # The vertical scroll mode has been configured. @@ -220,7 +220,7 @@ self._toggleVertScrollbar() else: message = 'bad vscrollmode option "%s": should be static, dynamic, or none' % mode - raise ValueError, message + raise ValueError(message) def _horizflex(self): # The horizontal flex mode has been configured. @@ -230,7 +230,7 @@ if flex not in self._flexoptions: message = 'bad horizflex option "%s": should be one of %s' % \ (flex, str(self._flexoptions)) - raise ValueError, message + raise ValueError(message) self.reposition() @@ -242,7 +242,7 @@ if flex not in self._flexoptions: message = 'bad vertflex option "%s": should be one of %s' % \ (flex, str(self._flexoptions)) - raise ValueError, message + raise ValueError(message) self.reposition() --- Pmw/Pmw_1_3_3/lib/PmwScrolledListBox.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwScrolledListBox.py (refactored) @@ -1,8 +1,9 @@ # Based on iwidgets2.2.0/scrolledlistbox.itk code. import types -import Tkinter +import tkinter import Pmw +import collections class ScrolledListBox(Pmw.MegaWidget): _classBindingsDefinedFor = 0 @@ -36,7 +37,7 @@ # Create the listbox widget. self._listbox = self.createcomponent('listbox', (), None, - Tkinter.Listbox, (interior,)) + tkinter.Listbox, (interior,)) self._listbox.grid(row = 2, column = 2, sticky = 'news') interior.grid_rowconfigure(2, weight = 1, minsize = 0) interior.grid_columnconfigure(2, weight = 1, minsize = 0) @@ -44,7 +45,7 @@ # Create the horizontal scrollbar self._horizScrollbar = self.createcomponent('horizscrollbar', (), 'Scrollbar', - Tkinter.Scrollbar, (interior,), + tkinter.Scrollbar, (interior,), orient='horizontal', command=self._listbox.xview ) @@ -52,7 +53,7 @@ # Create the vertical scrollbar self._vertScrollbar = self.createcomponent('vertscrollbar', (), 'Scrollbar', - Tkinter.Scrollbar, (interior,), + tkinter.Scrollbar, (interior,), orient='vertical', command=self._listbox.yview ) @@ -61,10 +62,10 @@ # Add the items specified by the initialisation option. items = self['items'] - if type(items) != types.TupleType: + if type(items) != tuple: items = tuple(items) if len(items) > 0: - apply(self._listbox.insert, ('end',) + items) + self._listbox.insert(*('end',) + items) _registerScrolledList(self._listbox, self) @@ -75,8 +76,8 @@ # bind_class rather than a reference to self, which would # prevent object cleanup. theTag = 'ScrolledListBoxTag' - if ScrolledListBox._classBindingsDefinedFor != Tkinter._default_root: - root = Tkinter._default_root + if ScrolledListBox._classBindingsDefinedFor != tkinter._default_root: + root = tkinter._default_root def doubleEvent(event): _handleEvent(event, 'double') @@ -135,24 +136,24 @@ def setvalue(self, textOrList): self._listbox.selection_clear(0, 'end') listitems = list(self._listbox.get(0, 'end')) - if type(textOrList) == types.StringType: + if type(textOrList) == bytes: if textOrList in listitems: self._listbox.selection_set(listitems.index(textOrList)) else: - raise ValueError, 'no such item "%s"' % textOrList + raise ValueError('no such item "%s"' % textOrList) else: for item in textOrList: if item in listitems: self._listbox.selection_set(listitems.index(item)) else: - raise ValueError, 'no such item "%s"' % item + raise ValueError('no such item "%s"' % item) def setlist(self, items): self._listbox.delete(0, 'end') if len(items) > 0: - if type(items) != types.TupleType: + if type(items) != tuple: items = tuple(items) - apply(self._listbox.insert, (0,) + items) + self._listbox.insert(*(0,) + items) # Override Tkinter.Listbox get method, so that if it is called with # no arguments, return all list elements (consistent with other widgets). @@ -182,7 +183,7 @@ self._toggleHorizScrollbar() else: message = 'bad hscrollmode option "%s": should be static, dynamic, or none' % mode - raise ValueError, message + raise ValueError(message) self._configureScrollCommands() @@ -202,7 +203,7 @@ self._toggleVertScrollbar() else: message = 'bad vscrollmode option "%s": should be static, dynamic, or none' % mode - raise ValueError, message + raise ValueError(message) self._configureScrollCommands() @@ -339,7 +340,7 @@ command = self['selectioncommand'] - if callable(command): + if isinstance(command, collections.Callable): command() # Need to explicitly forward this to override the stupid @@ -352,7 +353,7 @@ def bbox(self, index): return self._listbox.bbox(index) -Pmw.forwardmethods(ScrolledListBox, Tkinter.Listbox, '_listbox') +Pmw.forwardmethods(ScrolledListBox, tkinter.Listbox, '_listbox') # ====================================================================== @@ -372,5 +373,5 @@ # A binding earlier in the bindtags list may have destroyed the # megawidget, so need to check. - if _listboxCache.has_key(event.widget): + if event.widget in _listboxCache: _listboxCache[event.widget]._handleEvent(event, eventType) --- Pmw/Pmw_1_3_3/lib/PmwScrolledText.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwScrolledText.py (refactored) @@ -1,6 +1,6 @@ # Based on iwidgets2.2.0/scrolledtext.itk code. -import Tkinter +import tkinter import Pmw class ScrolledText(Pmw.MegaWidget): @@ -39,7 +39,7 @@ # text widget. self._borderframe = self.createcomponent('borderframe', (), None, - Tkinter.Frame, (interior,),RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwSelectionDialog.py RefactoringTool: No changes to Pmw/Pmw_1_3_3/lib/PmwTextDialog.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwTimeCounter.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/lib/PmwTimeFuncs.py + tkinter.Frame, (interior,), relief = 'sunken', borderwidth = 2, ) @@ -48,7 +48,7 @@ # Create the text widget. self._textbox = self.createcomponent('text', (), None, - Tkinter.Text, (self._borderframe,), + tkinter.Text, (self._borderframe,), highlightthickness = 0, borderwidth = 0, ) @@ -60,7 +60,7 @@ # Create the text widget. self._textbox = self.createcomponent('text', (), None, - Tkinter.Text, (interior,), + tkinter.Text, (interior,), ) self._textbox.grid(row = 4, column = 4, sticky = 'news') @@ -71,7 +71,7 @@ if self['columnheader']: self._columnheader = self.createcomponent('columnheader', (), 'Header', - Tkinter.Text, (interior,), + tkinter.Text, (interior,), height=1, wrap='none', borderwidth = bw, @@ -84,7 +84,7 @@ if self['rowheader']: self._rowheader = self.createcomponent('rowheader', (), 'Header', - Tkinter.Text, (interior,), + tkinter.Text, (interior,), wrap='none', borderwidth = bw, highlightthickness = ht, @@ -96,7 +96,7 @@ if self['rowcolumnheader']: self._rowcolumnheader = self.createcomponent('rowcolumnheader', (), 'Header', - Tkinter.Text, (interior,), + tkinter.Text, (interior,), height=1, wrap='none', borderwidth = bw, @@ -110,7 +110,7 @@ # Create the horizontal scrollbar self._horizScrollbar = self.createcomponent('horizscrollbar', (), 'Scrollbar', - Tkinter.Scrollbar, (interior,), + tkinter.Scrollbar, (interior,), orient='horizontal', command=self._textbox.xview ) @@ -118,7 +118,7 @@ # Create the vertical scrollbar self._vertScrollbar = self.createcomponent('vertscrollbar', (), 'Scrollbar', - Tkinter.Scrollbar, (interior,), + tkinter.Scrollbar, (interior,), orient='vertical', command=self._textbox.yview ) @@ -224,7 +224,7 @@ self._toggleHorizScrollbar() else: message = 'bad hscrollmode option "%s": should be static, dynamic, or none' % mode - raise ValueError, message + raise ValueError(message) self._configureScrollCommands() @@ -244,7 +244,7 @@ self._toggleVertScrollbar() else: message = 'bad vscrollmode option "%s": should be static, dynamic, or none' % mode - raise ValueError, message + raise ValueError(message) self._configureScrollCommands() @@ -440,4 +440,4 @@ def bbox(self, index): return self._textbox.bbox(index) -Pmw.forwardmethods(ScrolledText, Tkinter.Text, '_textbox') +Pmw.forwardmethods(ScrolledText, tkinter.Text, '_textbox') --- Pmw/Pmw_1_3_3/lib/PmwSelectionDialog.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwSelectionDialog.py (refactored) @@ -33,7 +33,7 @@ self._list.pack(side='top', expand='true', fill='both', padx = self['borderx'], pady = self['bordery']) - if not kw.has_key('activatecommand'): + if 'activatecommand' not in kw: # Whenever this dialog is activated, set the focus to the # ScrolledListBox's listbox widget. listbox = self.component('listbox') --- Pmw/Pmw_1_3_3/lib/PmwTimeCounter.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwTimeCounter.py (refactored) @@ -3,8 +3,9 @@ import string import sys import time -import Tkinter +import tkinter import Pmw +import collections class TimeCounter(Pmw.MegaWidget): """Up-down counter @@ -62,14 +63,14 @@ # be raised (but not around the label). if self['labelpos'] is None: frame = interior - if not kw.has_key('hull_relief'): + if 'hull_relief' not in kw: frame.configure(relief = 'raised') - if not kw.has_key('hull_borderwidth'): + if 'hull_borderwidth' not in kw: frame.configure(borderwidth = 1) else: frame = self.createcomponent('frame', (), None, - Tkinter.Frame, (interior,), + tkinter.Frame, (interior,), relief = 'raised', borderwidth = 1) frame.grid(column=2, row=2, sticky='nsew') interior.grid_columnconfigure(2, weight=1) @@ -80,7 +81,7 @@ # Create the hour down arrow. self._downHourArrowBtn = self.createcomponent('downhourarrow', (), 'Arrow', - Tkinter.Canvas, (frame,), + tkinter.Canvas, (frame,), width = 16, height = 16, relief = 'raised', borderwidth = 2) self.arrowDirection[self._downHourArrowBtn] = 'down' self._downHourArrowBtn.grid(column = 0, row = 2) @@ -88,7 +89,7 @@ # Create the minute down arrow. self._downMinuteArrowBtn = self.createcomponent('downminutearrow', (), 'Arrow', - Tkinter.Canvas, (frame,), + tkinter.Canvas, (frame,), width = 16, height = 16, relief = 'raised', borderwidth = 2) self.arrowDirection[self._downMinuteArrowBtn] = 'down' self._downMinuteArrowBtn.grid(column = 1, row = 2) @@ -96,7 +97,7 @@ # Create the second down arrow. self._downSecondArrowBtn = self.createcomponent('downsecondarrow', (), 'Arrow', - Tkinter.Canvas, (frame,), + tkinter.Canvas, (frame,), width = 16, height = 16, relief = 'raised', borderwidth = 2) self.arrowDirection[self._downSecondArrowBtn] = 'down' self._downSecondArrowBtn.grid(column = 2, row = 2) @@ -126,7 +127,7 @@ # Create the hour up arrow. self._upHourArrowBtn = self.createcomponent('uphourarrow', (), 'Arrow', - Tkinter.Canvas, (frame,), + tkinter.Canvas, (frame,), width = 16, height = 16, relief = 'raised', borderwidth = 2) self.arrowDirection[self._upHourArrowBtn] = 'up' self._upHourArrowBtn.grid(column = 0, row = 0) @@ -134,7 +135,7 @@ # Create the minute up arrow. self._upMinuteArrowBtn = self.createcomponent('upminutearrow', (), 'Arrow', - Tkinter.Canvas, (frame,), + tkinter.Canvas, (frame,), width = 16, height = 16, relief = 'raised', borderwidth = 2) self.arrowDirection[self._upMinuteArrowBtn] = 'up' self._upMinuteArrowBtn.grid(column = 1, row = 0) @@ -142,7 +143,7 @@ # Create the second up arrow. self._upSecondArrowBtn = self.createcomponent('upsecondarrow', (), 'Arrow', - Tkinter.Canvas, (frame,), + tkinter.Canvas, (frame,), width = 16, height = 16, relief = 'raised', borderwidth = 2) self.arrowDirection[self._upSecondArrowBtn] = 'up' self._upSecondArrowBtn.grid(column = 2, row = 0) @@ -286,7 +287,7 @@ def setvalue(self, text): list = string.split(text, ':') if len(list) != 3: - raise ValueError, 'invalid value: ' + text + raise ValueError('invalid value: ' + text) self._hour = string.atoi(list[0]) self._minute = string.atoi(list[1]) @@ -366,12 +367,12 @@ def _invoke(self, event): cmd = self['command'] - if callable(cmd): + if isinstance(cmd, collections.Callable): cmd() def invoke(self): cmd = self['command'] - if callable(cmd): + if isinstance(cmd, collections.Callable): return cmd() def destroy(self): --- Pmw/Pmw_1_3_3/lib/PmwTimeFuncs.py (original) +++ Pmw/Pmw_1_3_3/lib/PmwTimeFuncs.py (refactored) @@ -6,7 +6,7 @@ def timestringtoseconds(text, separator = ':'): inputList = string.split(string.strip(text), separator) if len(inputList) != 3: - raise ValueError, 'invalid value: ' + text + raise ValueError('invalid value: ' + text) sign = 1 if len(inputList[0]) > 0 and inputList[0][0] in ('+', '-'): @@ -15,14 +15,14 @@ inputList[0] = inputList[0][1:] if re.search('[^0-9]', string.join(inputList, '')) is not None: - raise ValueError, 'invalid value: ' + text + raise ValueError('invalid value: ' + text) hour = string.atoi(inputList[0]) minute = string.atoi(inputList[1]) second = string.atoi(inputList[2]) if minute >= 60 or second >= 60: - raise ValueError, 'invalid value: ' + text + raise ValueError('invalid value: ' + text) return sign * (hour * 60 * 60 + minute * 60 + second)RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/AboutDialog_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/All.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/Blt_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/ButtonBox_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/Colors_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/ComboBox_test.py _year_pivot = 50 @@ -40,10 +40,10 @@ def datestringtojdn(text, format = 'ymd', separator = '/'): inputList = string.split(string.strip(text), separator) if len(inputList) != 3: - raise ValueError, 'invalid value: ' + text + raise ValueError('invalid value: ' + text) if re.search('[^0-9]', string.join(inputList, '')) is not None: - raise ValueError, 'invalid value: ' + text + raise ValueError('invalid value: ' + text) formatList = list(format) day = string.atoi(inputList[formatList.index('d')]) month = string.atoi(inputList[formatList.index('m')]) @@ -58,7 +58,7 @@ jdn = ymdtojdn(year, month, day) if jdntoymd(jdn) != (year, month, day): - raise ValueError, 'invalid value: ' + text + raise ValueError('invalid value: ' + text) return jdn def _cdiv(a, b): @@ -75,24 +75,24 @@ # set Julian flag if auto set if julian < 0: if papal: # Pope Gregory XIII's decree - lastJulianDate = 15821004L # last day to use Julian calendar + lastJulianDate = 15821004 # last day to use Julian calendar else: # British-American usage - lastJulianDate = 17520902L # last day to use Julian calendar + lastJulianDate = 17520902 # last day to use Julian calendar - julian = ((year * 100L) + month) * 100 + day <= lastJulianDate + julian = ((year * 100) + month) * 100 + day <= lastJulianDate if year < 0: # Adjust BC year year = year + 1 if julian: - return 367L * year - _cdiv(7 * (year + 5001L + _cdiv((month - 9), 7)), 4) + \ - _cdiv(275 * month, 9) + day + 1729777L + return 367 * year - _cdiv(7 * (year + 5001 + _cdiv((month - 9), 7)), 4) + \ + _cdiv(275 * month, 9) + day + 1729777 else: - return (day - 32076L) + \ - _cdiv(1461L * (year + 4800L + _cdiv((month - 14), 12)), 4) + \ + return (day - 32076) + \ + _cdiv(1461 * (year + 4800 + _cdiv((month - 14), 12)), 4) + \ _cdiv(367 * (month - 2 - _cdiv((month - 14), 12) * 12), 12) - \ - _cdiv((3 * _cdiv((year + 4900L + _cdiv((month - 14), 12)), 100)), 4) + \ + _cdiv((3 * _cdiv((year + 4900 + _cdiv((month - 14), 12)), 100)), 4) + \ 1 # correction by rdg def jdntoymd(jdn, julian = -1, papal = 1): @@ -100,20 +100,20 @@ # set Julian flag if auto set if julian < 0: if papal: # Pope Gregory XIII's decree - lastJulianJdn = 2299160L # last jdn to use Julian calendar + lastJulianJdn = 2299160 # last jdn to use Julian calendar else: # British-American usage - lastJulianJdn = 2361221L # last jdn to use Julian calendar + lastJulianJdn = 2361221 # last jdn to use Julian calendar julian = (jdn <= lastJulianJdn); - x = jdn + 68569L + x = jdn + 68569 if julian: x = x + 38 - daysPer400Years = 146100L - fudgedDaysPer4000Years = 1461000L + 1 + daysPer400Years = 146100 + fudgedDaysPer4000Years = 1461000 + 1 else: - daysPer400Years = 146097L - fudgedDaysPer4000Years = 1460970L + 31 + daysPer400Years = 146097 + fudgedDaysPer4000Years = 1460970 + 31 z = _cdiv(4 * x, daysPer400Years) x = x - _cdiv((daysPer400Years * z + 3), 4) @@ -139,7 +139,7 @@ def stringtoreal(text, separator = '.'): if separator != '.': if string.find(text, '.') >= 0: - raise ValueError, 'invalid value: ' + text + raise ValueError('invalid value: ' + text) index = string.find(text, separator) if index >= 0: text = text[:index] + '.' + text[index + 1:] --- Pmw/Pmw_1_3_3/tests/AboutDialog_test.py (original) +++ Pmw/Pmw_1_3_3/tests/AboutDialog_test.py (refactored) @@ -1,6 +1,6 @@ # Based on iwidgets2.2.0/tests/messagedialog.test code. -import Tkinter +import tkinter import Test import Pmw @@ -32,7 +32,7 @@ ('message_pady', 15), ('icon_image', ''), (c.title, 'AboutDialog 1: new title', ''), - (c.interior, (), Tkinter.Frame), + (c.interior, (), tkinter.Frame), (Pmw.aboutcontact, ''), ) --- Pmw/Pmw_1_3_3/tests/All.py (original) +++ Pmw/Pmw_1_3_3/tests/All.py (refactored) @@ -3,7 +3,7 @@ import os import re import sys -import Tkinter +import tkinter import Test Test.initialise() @@ -19,7 +19,7 @@ ignoreTests = ('Tkinter_test.py',) # Also ignore Blt test since it causes Blt 2.4z to core dump. -if Tkinter.TkVersion >= 8.4: +if tkinter.TkVersion >= 8.4: ignoreTests = ignoreTests + ('Blt_test.py',) allTestData = () @@ -29,7 +29,7 @@ for file in files: if file not in ignoreTests and re.search('^.+_test.py$', file) is not None: test = file[:-3] - exec 'import ' + test - exec 'allTestData = allTestData + ' + test + '.testData' + exec('import ' + test) + exec('allTestData = allTestData + ' + test + '.testData') Test.runTests(allTestData) --- Pmw/Pmw_1_3_3/tests/Blt_test.py (original) +++ Pmw/Pmw_1_3_3/tests/Blt_test.py (refactored) @@ -1,7 +1,7 @@ # Tests for Blt widgets. import os -import Tkinter +import tkinter import Test import Pmw @@ -126,7 +126,7 @@ def _createMarkerButton(): w = Test.currentWidget() - button = Tkinter.Button(w, text = 'This is\na button') + button = tkinter.Button(w, text = 'This is\na button') w.marker_create('window', coords=(10, 200), window=button) def _axisNamesSorted(pattern = None): --- Pmw/Pmw_1_3_3/tests/ButtonBox_test.py (original) +++ Pmw/Pmw_1_3_3/tests/ButtonBox_test.py (refactored) @@ -1,6 +1,6 @@ # Based on iwidgets2.2.0/tests/buttonbox.test code. -import Tkinter +import tkinter import Test import Pmw @@ -11,8 +11,8 @@ kw_1 = {} tests_1 = ( (c.pack, ()), - (c.add, 'Yes', Tkinter.Button), - (c.add, 'No', Tkinter.Button), + (c.add, 'Yes', tkinter.Button), + (c.add, 'No', tkinter.Button), (c.setdefault, 'Yes'), (c.alignbuttons, ()), (Test.num_options, (), 5), @@ -30,8 +30,8 @@ (c.index, Pmw.DEFAULT, 0), (c.index, 'No', 1), (c.index, 'Yes', 0), - (c.add, 'Maybe', Tkinter.Button), - (c.insert, ('Never', 0), {'text' : 'Never Never'}, Tkinter.Button), + (c.add, 'Maybe', tkinter.Button), + (c.insert, ('Never', 0), {'text' : 'Never Never'}, tkinter.Button), (c.setdefault, 'Never'), (c.invoke, 'Yes', ''), (c.invoke, (), ''), @@ -52,8 +52,8 @@ } tests_2 = ( (c.pack, ()), - (c.add, 'Hello', Tkinter.Button), - (c.insert, ('GoodBye', Pmw.END), Tkinter.Button), + (c.add, 'Hello', tkinter.Button), + (c.insert, ('GoodBye', Pmw.END), tkinter.Button), (c.setdefault, 'Hello'), (c.setdefault, 'GoodBye'), (c.setdefault, None), --- Pmw/Pmw_1_3_3/tests/Colors_test.py (original) +++ Pmw/Pmw_1_3_3/tests/Colors_test.py (refactored) @@ -1,6 +1,6 @@ # Tests for Pmw color handling. -import Tkinter +import tkinter import Test import Pmw @@ -9,11 +9,11 @@ defaultPalette = Pmw.Color.getdefaultpalette(Test.root) -c = Tkinter.Button +c = tkinter.Button colors = ('red', 'orange', 'yellow', 'green', 'blue', 'purple', 'white') -normalcolors = map(Pmw.Color.changebrightness, - (Test.root,) * len(colors), colors, (0.85,) * len(colors)) +normalcolors = list(map(Pmw.Color.changebrightness, + (Test.root,) * len(colors), colors, (0.85,) * len(colors))) kw = {} tests = ( --- Pmw/Pmw_1_3_3/tests/ComboBox_test.py (original) +++ Pmw/Pmw_1_3_3/tests/ComboBox_test.py (refactored) @@ -1,17 +1,17 @@ # Based on iwidgets2.2.0/tests/combobox.test code. -import Tkinter +import tkinter import Test import Pmw Test.initialise() -if Tkinter.TkVersion >= 8.4: +if tkinter.TkVersion >= 8.4: expected1 = 'TclError: bad relief "bogus": must be ' expected2 = 'TclError: bad state "bogus": must be ' + \ 'disabled, normal, or readonly' -elif Tkinter.TkVersion >= 8.3: +elif tkinter.TkVersion >= 8.3: expected1 = 'TclError: bad relief "bogus": must be ' expected2 = 'TclError: bad state "bogus": must be disabled or normal' else: @@ -104,7 +104,7 @@ 'ValueError: bad vscrollmode option "bogus": should be static, dynamic, ' + 'or none'), ('entry_width', 'bogus', 'TclError: expected integer but got "bogus"'), - (c.interior, (), Tkinter.Frame), + (c.interior, (), tkinter.Frame), (c.setentry, 'This is some text', 1), (c.get, (), 'This is some text'),RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/CounterDialog_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/Counter_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/Dialog_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/EntryField_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/LabeledWidget_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/ManualTests.py (c.get, 2, 'C'), --- Pmw/Pmw_1_3_3/tests/CounterDialog_test.py (original) +++ Pmw/Pmw_1_3_3/tests/CounterDialog_test.py (refactored) @@ -1,4 +1,4 @@ -import Tkinter +import tkinter import Test import Pmw @@ -56,7 +56,7 @@ ('entryfield_validate', 'alphabetic'), ('entry_width', 30), ('relief', 'bogus', 'KeyError: Unknown option "relief" for CounterDialog'), - (c.interior, (), Tkinter.Frame), + (c.interior, (), tkinter.Frame), (c.insert, ('end', 69)), (c.increment, ()), (c.decrement, ()), --- Pmw/Pmw_1_3_3/tests/Counter_test.py (original) +++ Pmw/Pmw_1_3_3/tests/Counter_test.py (refactored) @@ -1,4 +1,4 @@ -import Tkinter +import tkinter import Test import Pmw @@ -68,7 +68,7 @@ ('entry_width', 30), ('relief', 'bogus', 'KeyError: Unknown option "relief" for Counter'), (c.invoke, (), 1), - (c.interior, (), Tkinter.Frame), + (c.interior, (), tkinter.Frame), (c.increment, ()), (c.get, (), '70'), ('increment', 5), --- Pmw/Pmw_1_3_3/tests/Dialog_test.py (original) +++ Pmw/Pmw_1_3_3/tests/Dialog_test.py (refactored) @@ -1,13 +1,13 @@ # Based on iwidgets2.2.0/tests/dialog.test code. import sys -import Tkinter +import tkinter import Test import Pmw Test.initialise() -if Tkinter.TkVersion >= 8.3: +if tkinter.TkVersion >= 8.3: version = sys.version_info if version[0] > 2 or (version[0] == 2 and version[1] > 0): expected1 = "AttributeError: Dialog instance has no attribute 'bogus'" @@ -21,7 +21,7 @@ def _addListbox(): global _lb w = Test.currentWidget() - _lb = Tkinter.Listbox(w.interior(), relief = 'sunken') + _lb = tkinter.Listbox(w.interior(), relief = 'sunken') _lb.pack(fill = 'both', expand = 'yes') def _addListEntry(text): @@ -36,16 +36,16 @@ global tempToplevel Test.root.deiconify() Test.root.geometry('+0+0') - tempToplevel = Tkinter.Toplevel() + tempToplevel = tkinter.Toplevel() tempToplevel.geometry('+0+0') - label = Tkinter.Label(tempToplevel, text = + label = tkinter.Label(tempToplevel, text = 'The cursor should turn to a\n' + 'clock over this window if the\n' + 'blt busy command is available.\n' + 'In any case, the button will be inactive\n' + 'while the modal dialog is active.') label.pack(padx=100, pady=100) - button = Tkinter.Button(tempToplevel, text = 'Try to press me') + button = tkinter.Button(tempToplevel, text = 'Try to press me') button.pack(pady=100, expand=1) def _hideOtherToplevel(): @@ -71,7 +71,7 @@ ('buttons', ('A', 'B', 'C', 'D')), ('hull_cursor', 'gumby'), (c.title, 'Dialog Shell', ''), - (c.interior, (), Tkinter.Frame), + (c.interior, (), tkinter.Frame), ('buttons', ()), ('buttons', ('OK',)), ('buttons', ('OK', 'Cancel')), --- Pmw/Pmw_1_3_3/tests/EntryField_test.py (original) +++ Pmw/Pmw_1_3_3/tests/EntryField_test.py (refactored) @@ -1,6 +1,6 @@ # Based on iwidgets2.2.0/tests/entryfield.test code. -import Tkinter +import tkinter import Test import Pmw @@ -61,7 +61,7 @@ "validators ()"), ('relief', 'bogus', 'KeyError: Unknown option "relief" for EntryField'), (c.invoke, (), 1), - (c.interior, (), Tkinter.Frame), + (c.interior, (), tkinter.Frame), (c.clear, ()), (c.get, (), ''), (c.insert, ('end', 'Test String')), --- Pmw/Pmw_1_3_3/tests/LabeledWidget_test.py (original) +++ Pmw/Pmw_1_3_3/tests/LabeledWidget_test.py (refactored) @@ -1,6 +1,6 @@ # Based on iwidgets2.2.0/tests/labeledwidget.test code. -import Tkinter +import tkinter import Test import Pmw @@ -10,7 +10,7 @@ def _addListbox(): w = Test.currentWidget() - lb = Tkinter.Listbox(w.interior(), relief = 'sunken') + lb = tkinter.Listbox(w.interior(), relief = 'sunken') lb.pack(padx = 10, pady = 10) def _testalignLabels(): @@ -28,7 +28,7 @@ ('label_font', Test.font['small']), ('label_image', Test.flagup), ('label_image', ''), - (c.interior, (), Tkinter.Frame), + (c.interior, (), tkinter.Frame), (_testalignLabels, (), None), ) --- Pmw/Pmw_1_3_3/tests/ManualTests.py (original) +++ Pmw/Pmw_1_3_3/tests/ManualTests.py (refactored) @@ -8,7 +8,7 @@ import time import sys import Test -import Tkinter +import tkinter import Pmw # ---------------------------------------------------------------------- @@ -20,13 +20,13 @@ # When this script is run, the two scrollbars will be continuously # mapped and unmapped and the window will continuously change size. - frame = Tkinter.Frame(root) + frame = tkinter.Frame(root) frame.pack(fill = 'both', expand = 1) sf = Pmw.ScrolledFrame(frame, borderframe = 0) sf.pack(fill = 'both', expand = 1) - inner = Tkinter.Frame(sf.interior(), + inner = tkinter.Frame(sf.interior(), width = 401, height = 300, borderwidth = 0, @@ -43,7 +43,7 @@ # When this script is run, the two scrollbars will be continuously # mapped and unmapped and the window will continuously change size. - frame = Tkinter.Frame(root) + frame = tkinter.Frame(root) frame.pack(fill = 'both', expand = 1) sf = Pmw.ScrolledListBox(frame, @@ -93,7 +93,7 @@ # When this script is run, the two scrollbars will be continuously # mapped and unmapped and the window will continuously change size. - frame = Tkinter.Frame(root) + frame = tkinter.Frame(root) frame.pack(fill = 'both', expand = 1) sf = Pmw.ScrolledText(frame, @@ -117,7 +117,7 @@ # When this script is run, the two scrollbars will be continuously # mapped and unmapped and the window will continuously change size. - frame = Tkinter.Frame(root) + frame = tkinter.Frame(root) frame.pack(fill = 'both', expand = 1) sf = Pmw.ScrolledCanvas(frame, @@ -136,13 +136,13 @@ root.geometry('550x500') - frame = Tkinter.Frame() + frame = tkinter.Frame() frame.pack() sf = Pmw.ScrolledFrame(frame, borderframe = 0) sf.pack(fill = 'both') - inner = Tkinter.Frame(sf.interior(), + inner = tkinter.Frame(sf.interior(), width = 401, height = 300, borderwidth = 0, @@ -163,14 +163,14 @@ """ class test: def __init__(self): - root = Tkinter.Tk() + root = tkinter.Tk() Pmw.initialise(root) self.messagedialog = Pmw.MessageDialog(message_text = 'Testing') self.messagedialog.withdraw() - button = Tkinter.Button( + button = tkinter.Button( text = text, command = self.messagedialog.activate) button.pack(pady = 20) - exit = Tkinter.Button(text = 'Exit', command = root.destroy) + exit = tkinter.Button(text = 'Exit', command = root.destroy) exit.pack(pady = 20) root.mainloop() @@ -240,13 +240,13 @@ # ---------------------------------------------------------------------- # A class which prints out a message when an instance is deleted. -class MyToplevel(Tkinter.Toplevel): +class MyToplevel(tkinter.Toplevel): def __init__(self): - Tkinter.Toplevel.__init__(self) + tkinter.Toplevel.__init__(self) def __del__(self): - print 'Window deleted' + print('Window deleted') def _runMemoryLeakTest(): global top @@ -292,26 +292,26 @@ standard output. """ def memoryleak_test(): - label = Tkinter.Label(text = memoryLeakMessage) + label = tkinter.Label(text = memoryLeakMessage) label.pack() - run = Tkinter.Button(text = 'Run test', command = _runMemoryLeakTest) + run = tkinter.Button(text = 'Run test', command = _runMemoryLeakTest) run.pack() - kill = Tkinter.Button(text = 'Destroy', command = _killMemoryLeakTest) + kill = tkinter.Button(text = 'Destroy', command = _killMemoryLeakTest) kill.pack() # ---------------------------------------------------------------------- def memoryleak2_test(): - print 'This test continuously creates and deletes megawidgets and' - print 'their components. It calls the "top" program, so' - print 'may not work on non-Unix operating systems. Run it for a long,'RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/MegaWidget_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/MessageDialog_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/NoteBook_test.py - print 'long time and check that the process memory size does not' - print 'continue to increase. Kill with .' + print('This test continuously creates and deletes megawidgets and') + print('their components. It calls the "top" program, so') + print('may not work on non-Unix operating systems. Run it for a long,') + print('long time and check that the process memory size does not') + print('continue to increase. Kill with .') pid = os.getpid() - label = Tkinter.Label() + label = tkinter.Label() label.pack() # Setup each test: @@ -329,43 +329,43 @@ ) # 2. Balloon binding: - toplevel = Tkinter.Toplevel() + toplevel = tkinter.Toplevel() balloon = Pmw.Balloon(toplevel) - button = Tkinter.Button(toplevel) + button = tkinter.Button(toplevel) button.pack() - canvas = Tkinter.Canvas(toplevel) + canvas = tkinter.Canvas(toplevel) item = canvas.create_rectangle(0, 0, 100, 100) canvas.pack() # 3. Adding and deleting menu: - toplevel = Tkinter.Toplevel() + toplevel = tkinter.Toplevel() mainmenu = Pmw.MainMenuBar(toplevel) mainmenu.addmenu('Foo', 'help') toplevel.configure(menu = mainmenu) # 4. Adding and deleting notebook page: - toplevel = Tkinter.Toplevel() + toplevel = tkinter.Toplevel() notebook = Pmw.NoteBook(toplevel) notebook.pack() # 5. Adding and deleting panedwidget pane: - toplevel = Tkinter.Toplevel() + toplevel = tkinter.Toplevel() panedwidget = Pmw.PanedWidget(toplevel) panedwidget.pack() panedwidget.insert('Foo', size = 100) # 6. Adding and deleting MenuBar menu: - toplevel = Tkinter.Toplevel() + toplevel = tkinter.Toplevel() menubar = Pmw.MenuBar(toplevel) menubar.pack() # 7. Setting OptionMenu items: - toplevel = Tkinter.Toplevel() + toplevel = tkinter.Toplevel() optionmenu = Pmw.OptionMenu(toplevel, items = ('XXX', 'YYY', 'ZZZ')) optionmenu.pack() # 8. Setting Tkinter.Canvas scrollcommand option: - toplevel = Tkinter.Toplevel() + toplevel = tkinter.Toplevel() scrollcanvas = Pmw.ScrolledCanvas(toplevel) scrollcanvas.pack() @@ -437,21 +437,21 @@ # size = string.atoi(string.lstrip(line[27:32])) size = string.atoi(string.lstrip(line[22:29])) if prevSize != size: - print time.strftime('%H:%M:%S', time.localtime(time.time())), - print line[:-1] + print(time.strftime('%H:%M:%S', time.localtime(time.time())), end=' ') + print(line[:-1]) prevSize = size # ---------------------------------------------------------------------- def usageExit(): - print 'Usage:', sys.argv[0], '' - print ' where is one of:' + print('Usage:', sys.argv[0], '') + print(' where is one of:') for test in tests: - print ' ', test + print(' ', test) sys.exit() tests = [] -for name in locals().keys(): +for name in list(locals().keys()): if name[-5:] == '_test': tests.append(name) tests.sort() @@ -461,7 +461,7 @@ testName = sys.argv[1] if testName not in tests: - print 'Unknown test "' + testName + '"' + print('Unknown test "' + testName + '"') usageExit() if testName == 'reinitialise_test': --- Pmw/Pmw_1_3_3/tests/MegaWidget_test.py (original) +++ Pmw/Pmw_1_3_3/tests/MegaWidget_test.py (refactored) @@ -1,6 +1,6 @@ # Based on itk2.2/tests/widget.test code. -import Tkinter +import tkinter import Test import Pmw @@ -26,12 +26,12 @@ interior = self.interior() self._label = self.createcomponent('label', (), None, - Tkinter.Label, (interior,)) + tkinter.Label, (interior,)) self._label.pack(side='left', padx=2) self._button = self.createcomponent('button', (), 'Mygroup', - Tkinter.Button, (interior,), text = 'Push Me', + tkinter.Button, (interior,), text = 'Push Me', activebackground = 'white', background = 'ivory') self._button.pack(side='right', fill='x', padx=2) @@ -65,7 +65,7 @@ w = Test.currentWidget() label2 = w.createcomponent('label2', (), 'Mygroup', - Tkinter.Label, (w.interior(),), + tkinter.Label, (w.interior(),), text = 'Temporary', background = 'yellow') label2.pack(fill = 'x') return label2.cget('text') @@ -100,9 +100,9 @@ ('status', 'test message'), ('label_text', 'Label:'), (c.components, (), ['button', 'hull', 'label']), - (c.component, ('hull'), Tkinter.Frame), - (c.component, ('label'), Tkinter.Label), - (c.component, ('button'), Tkinter.Button), + (c.component, ('hull'), tkinter.Frame), + (c.component, ('label'), tkinter.Label), + (c.component, ('button'), tkinter.Button), (_componentOption, ('hull', 'cursor'), 'trek'), (_componentOption, ('label', 'cursor'), 'trek'), (_componentOption, ('hull', 'background'), 'red'), --- Pmw/Pmw_1_3_3/tests/MessageDialog_test.py (original) +++ Pmw/Pmw_1_3_3/tests/MessageDialog_test.py (refactored) @@ -1,6 +1,6 @@ # Based on iwidgets2.2.0/tests/messagedialog.test code. -import Tkinter +import tkinter import Test import Pmw @@ -31,7 +31,7 @@ ('message_pady', 15), ('icon_image', ''), (c.title, 'MessageDialog 1: new title', ''), - (c.interior, (), Tkinter.Frame), + (c.interior, (), tkinter.Frame), ('defaultbutton', 'OK'), ) --- Pmw/Pmw_1_3_3/tests/NoteBook_test.py (original) +++ Pmw/Pmw_1_3_3/tests/NoteBook_test.py (refactored) @@ -1,4 +1,4 @@ -import Tkinter +import tkinter import Test import Pmw @@ -28,7 +28,7 @@ def _populatePage(pageName): w = Test.currentWidget() page = w.page(pageName) - text = Tkinter.Text(page) + text = tkinter.Text(page) text.pack() return w.pagenames()[w.index(pageName)] @@ -47,22 +47,22 @@ (c.index, Pmw.SELECT, 'ValueError: NoteBook has no pages'), (c.setnaturalsize, ()), (c.getcurselection, ()), - (c.insert, ('Temp', 0), {'page_pyclass' : Tkinter.Canvas}, Tkinter.Canvas), + (c.insert, ('Temp', 0), {'page_pyclass' : tkinter.Canvas}, tkinter.Canvas), (checkCallbacks, (), (['Temp'], ['Temp'], [])), (c.getcurselection, (), 'Temp'), (c.setnaturalsize, ()), (c.delete, 'Temp'), (checkCallbacks, (), ([], [], [])), (c.getcurselection, ()), - (c.insert, ('Temp', Pmw.END), Tkinter.Frame), + (c.insert, ('Temp', Pmw.END), tkinter.Frame), (checkCallbacks, (), (['Temp'], ['Temp'], [])), (c.delete, 'Temp'), - (c.add, 'Start', Tkinter.Frame), + (c.add, 'Start', tkinter.Frame), ('Start_background', 'green'), - (c.insert, ('Final', Pmw.END), {'page_background' : 'blue'}, Tkinter.Frame), - (c.insert, ('Middle', 'Final'), Tkinter.Frame), + (c.insert, ('Final', Pmw.END), {'page_background' : 'blue'}, tkinter.Frame), + (c.insert, ('Middle', 'Final'), tkinter.Frame), (c.index, Pmw.SELECT, 0), - (c.insert, ('First', 'Start'), Tkinter.Frame), + (c.insert, ('First', 'Start'), tkinter.Frame), (c.index, Pmw.SELECT, 1), (c.getcurselection, (), 'Start'), (c.selectpage, Pmw.END), @@ -80,7 +80,7 @@ (c.selectpage, 'Final'), (c.index, Pmw.SELECT, 3), (c.getcurselection, (), 'Final'), - (c.add, 'Last', Tkinter.Frame), + (c.add, 'Last', tkinter.Frame), (c.pagenames, (), ['First', 'Start', 'Middle', 'Final', 'Last']), (c.setnaturalsize, ()), (_populatePage, Pmw.SELECT, 'Final'), @@ -104,9 +104,9 @@ (c.nextpage, 'Middle'), (c.getcurselection, (), 'Final'), (c.delete, ('First', 'Start', 'Middle', 'Final', 'Last')), - (c.add, 'Temp', {'page_pyclass' : Tkinter.Button}, Tkinter.Button), + (c.add, 'Temp', {'page_pyclass' : tkinter.Button}, tkinter.Button), (c.delete, 'Temp'), - (c.add, 'Temp', {'page_pyclass' : Tkinter.Text}, Tkinter.Text), + (c.add, 'Temp', {'page_pyclass' : tkinter.Text}, tkinter.Text), (c.delete, 'Temp'), (c.add, 'Temp', {'page_pyclass' : Pmw.ScrolledText, 'page_vscrollmode' : 'static', 'page_text_state' : 'disabled'}, @@ -117,7 +117,7 @@ (c.getcurselection, (), 'Temp'), (c.delete, 'Temp'), (c.getcurselection, (), None), - (c.add, 'Start', Tkinter.Frame), + (c.add, 'Start', tkinter.Frame), (c.getcurselection, (), 'Start'),RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/OptionMenu_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/Options_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/PanedWidget_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/PmwBase_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/PromptDialog_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/RadioSelect_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/ScrolledCanvas_test.py ) @@ -154,8 +154,8 @@ (c.pack, ()), ) + tests_1_common + ( ('Tab_background', 'red'), - (c.add, 'One', Tkinter.Frame), - (c.tab, 'One', Tkinter.Button), + (c.add, 'One', tkinter.Frame), + (c.tab, 'One', tkinter.Button), ) alltests = ( --- Pmw/Pmw_1_3_3/tests/OptionMenu_test.py (original) +++ Pmw/Pmw_1_3_3/tests/OptionMenu_test.py (refactored) @@ -1,4 +1,4 @@ -import Tkinter +import tkinter import Test import Pmw --- Pmw/Pmw_1_3_3/tests/Options_test.py (original) +++ Pmw/Pmw_1_3_3/tests/Options_test.py (refactored) @@ -1,6 +1,6 @@ # This tests Pmw option and component handling. -import Tkinter +import tkinter import Test import Pmw @@ -64,7 +64,7 @@ interior = self.interior() self._widget = self.createcomponent('widget', (('widgy', 'widget'),), None, - Tkinter.Button, (interior,)) + tkinter.Button, (interior,)) self._widget.grid(column=0, row=0, sticky='nsew') self.initialiseoptions() @@ -109,12 +109,12 @@ self._child = self.createcomponent('child', (), 'Mygroup', - Tkinter.Frame, (oldInterior,)) + tkinter.Frame, (oldInterior,)) self._child.grid(column=0, row=1, sticky='nsew') self._groupie = self.createcomponent('groupie', (), 'Mygroup', - Tkinter.Button, (oldInterior,), text = 'XXXXX') + tkinter.Button, (oldInterior,), text = 'XXXXX') self._groupie.grid(column=0, row=2, sticky='nsew') self.basedummy = [] --- Pmw/Pmw_1_3_3/tests/PanedWidget_test.py (original) +++ Pmw/Pmw_1_3_3/tests/PanedWidget_test.py (refactored) @@ -1,5 +1,5 @@ import os -import Tkinter +import tkinter import Test import Pmw @@ -15,16 +15,16 @@ tests_1 = ( (c.pack, ()), (Test.num_options, (), 5), - (c.add, 'left', {'min' : 100}, Tkinter.Frame), + (c.add, 'left', {'min' : 100}, tkinter.Frame), (_setbackground, ('left', 'red')), - (c.add, 'middle', {'max' : 100}, Tkinter.Frame), + (c.add, 'middle', {'max' : 100}, tkinter.Frame), (_setbackground, ('middle', 'green')), - (c.add, 'right', {'size' : 100}, Tkinter.Frame), - (c.insert, ('first', 'middle'), {'size' : 100}, Tkinter.Frame), + (c.add, 'right', {'size' : 100}, tkinter.Frame), + (c.insert, ('first', 'middle'), {'size' : 100}, tkinter.Frame), (_setbackground, ('right', 'yellow')), (_setbackground, ('first', 'blue')), (c.delete, 'middle'), - (c.pane, 'left', Tkinter.Frame), + (c.pane, 'left', tkinter.Frame), (c.panes, (), ['left', 'first', 'right']), (c.configurepane, 'first', {'size' : 200}), ) --- Pmw/Pmw_1_3_3/tests/PmwBase_test.py (original) +++ Pmw/Pmw_1_3_3/tests/PmwBase_test.py (refactored) @@ -1,6 +1,6 @@ # Tests for Pmw megawidgets -import Tkinter +import tkinter import Test import Pmw @@ -20,7 +20,7 @@ interior = self.interior() self._label = self.createcomponent('label', (), None, - Tkinter.Label, (interior,), text = 'test') + tkinter.Label, (interior,), text = 'test') self._label.pack(side='left', padx=2) # Check keywords and initialise options. @@ -35,7 +35,7 @@ w = self.createcomponent('test', (), None, widget, (self.interior(),)) - apply(self.configure, (), {'test_' + option : value}) + self.configure(*(), **{'test_' + option : value}) if w.__class__.__name__ not in ('Menu', 'Toplevel'): w.pack() if hasattr(widget, 'geometry'): @@ -73,7 +73,7 @@ interior = self.interior() self._label = self.createcomponent('label', (), None, - Tkinter.Label, (interior,), text = 'test') + tkinter.Label, (interior,), text = 'test') self._label.pack(side='left', padx=2) self._statusList = [] @@ -129,14 +129,14 @@ ) # Test each of the standard widgets as components. -for widget in [Tkinter.Button, Tkinter.Checkbutton, Tkinter.Entry, Tkinter.Label, Tkinter.Listbox, \ - Tkinter.Menu, Tkinter.Menubutton, Tkinter.Message, Tkinter.Radiobutton, Tkinter.Scale, Tkinter.Text]: +for widget in [tkinter.Button, tkinter.Checkbutton, tkinter.Entry, tkinter.Label, tkinter.Listbox, \ + tkinter.Menu, tkinter.Menubutton, tkinter.Message, tkinter.Radiobutton, tkinter.Scale, tkinter.Text]: tests = tests + ( (c.addTestWidget, (widget, 'foreground', 'blue'), 'blue'), (c.deleteTestWidget, ()) ) -for widget in [Tkinter.Canvas, Tkinter.Frame, Tkinter.Scrollbar, Tkinter.Toplevel]: +for widget in [tkinter.Canvas, tkinter.Frame, tkinter.Scrollbar, tkinter.Toplevel]: tests = tests + ( (c.addTestWidget, (widget, 'background', 'grey80'), 'grey80'), (c.deleteTestWidget, ()) @@ -169,7 +169,7 @@ ) for args, dict in fontList: - font = apply(Pmw.logicalfont, args, dict) + font = Pmw.logicalfont(*args, **dict) tests = tests + ( ('label_text', 'Testing font\n' + str(args) + '\n' + str(dict)), ('label_font', font), --- Pmw/Pmw_1_3_3/tests/PromptDialog_test.py (original) +++ Pmw/Pmw_1_3_3/tests/PromptDialog_test.py (refactored) @@ -1,6 +1,6 @@ # Based on iwidgets2.2.0/tests/promptdialog.test code. -import Tkinter +import tkinter import Test import Pmw @@ -37,7 +37,7 @@ ('entryfield_validate', 'alphabetic'), ('entryfield_validate', 'alphanumeric'), ('entry_width', 30), - (c.interior, (), Tkinter.Frame), + (c.interior, (), tkinter.Frame), (c.insertentry, ('end', 'Test String')), (c.get, (), 'Test String'), (c.deleteentry, (0, 'end')), --- Pmw/Pmw_1_3_3/tests/RadioSelect_test.py (original) +++ Pmw/Pmw_1_3_3/tests/RadioSelect_test.py (refactored) @@ -1,10 +1,10 @@ -import Tkinter +import tkinter import Test import Pmw Test.initialise() -if Tkinter.TkVersion >= 8.4: +if tkinter.TkVersion >= 8.4: expected1 = 'TclError: bad relief "bogus": must be ' else: expected1 = 'TclError: bad relief type "bogus": must be ' @@ -16,10 +16,10 @@ (c.pack, (), {'padx' : 10, 'pady' : 10, 'fill' : 'both', 'expand' : 1}), (Test.num_options, (), 8), (c.index, Pmw.END, 'ValueError: RadioSelect has no buttons'), - (c.add, ('Fruit',), Tkinter.Button), - (c.add, ('Vegetables',), Tkinter.Button), - (c.add, ('CornFlakes',), {'text': 'Cereals'}, Tkinter.Button), - (c.add, ('Legumes',), Tkinter.Button), + (c.add, ('Fruit',), tkinter.Button), + (c.add, ('Vegetables',), tkinter.Button), + (c.add, ('CornFlakes',), {'text': 'Cereals'}, tkinter.Button), + (c.add, ('Legumes',), tkinter.Button), (c.add, ('Legumes',), 'ValueError: button "Legumes" already exists'), (c.index, 0, 0), (c.index, Pmw.END, 3), @@ -48,7 +48,7 @@ ('CornFlakes_background', 'yellow'), ('Legumes_background', 'brown'), ('Legumes_foreground', 'white'), - (c.add, ('Foo',), Tkinter.Button), + (c.add, ('Foo',), tkinter.Button), ('label_text', 'Label'), ('frame_relief', 'sunken'), ('frame_relief', 'bogus', expected1 + Test.reliefs), @@ -62,10 +62,10 @@ } tests_2 = ( (c.pack, (), {'padx' : 10, 'pady' : 10, 'fill' : 'both', 'expand' : 1}), - (c.add, ('Fruit',), Tkinter.Button), - (c.add, ('Vegetables',), Tkinter.Button), - (c.add, ('CornFlakes',), {'text': 'Cereals'}, Tkinter.Button), - (c.add, ('Legumes',), Tkinter.Button), + (c.add, ('Fruit',), tkinter.Button), + (c.add, ('Vegetables',), tkinter.Button), + (c.add, ('CornFlakes',), {'text': 'Cereals'}, tkinter.Button), + (c.add, ('Legumes',), tkinter.Button), ('command', Test.callback2), (c.getcurselection, (), ()), (c.invoke, 'Vegetables', ('Vegetables', 1)), @@ -77,8 +77,8 @@ (c.invoke, 'Legumes', ('Legumes', 0)), (c.getcurselection, (), ('Vegetables', 'Fruit')), (c.deleteall, ()), - (c.add, ('Fruit',), Tkinter.Button), - (c.add, ('Vegetables',), Tkinter.Button), + (c.add, ('Fruit',), tkinter.Button), + (c.add, ('Vegetables',), tkinter.Button), (c.invoke, 'Vegetables', ('Vegetables', 1)), (c.getcurselection, (), ('Vegetables',)), ) @@ -91,8 +91,8 @@ tests_3 = ( (c.pack, (), {'padx' : 10, 'pady' : 10}), - (c.add, ('Foo',), Tkinter.Button), - (c.add, ('Bar',), Tkinter.Button), + (c.add, ('Foo',), tkinter.Button), + (c.add, ('Bar',), tkinter.Button), ) poslist = ('nw', 'n', 'ne', 'en', 'e', 'es', 'se', 's', 'sw', 'ws', 'w', 'wn',) --- Pmw/Pmw_1_3_3/tests/ScrolledCanvas_test.py (original) +++ Pmw/Pmw_1_3_3/tests/ScrolledCanvas_test.py (refactored) @@ -14,7 +14,7 @@ def _createWindow(): w = Test.currentWidget()RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/ScrolledField_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/ScrolledFrame_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/ScrolledListBox_test.py RefactoringTool: No changes to Pmw/Pmw_1_3_3/tests/ScrolledText_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/SelectionDialog_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/Test.py lb = Pmw.ScrolledListBox(w.interior(), - items = range(20), listbox_height = 6) + items = list(range(20)), listbox_height = 6) w.create_window(300, 100, window = lb) def _testYView(doBottom): --- Pmw/Pmw_1_3_3/tests/ScrolledField_test.py (original) +++ Pmw/Pmw_1_3_3/tests/ScrolledField_test.py (refactored) @@ -1,4 +1,4 @@ -import Tkinter +import tkinter import Test import Pmw --- Pmw/Pmw_1_3_3/tests/ScrolledFrame_test.py (original) +++ Pmw/Pmw_1_3_3/tests/ScrolledFrame_test.py (refactored) @@ -9,7 +9,7 @@ w = Test.currentWidget() for i in range(3): lb = Pmw.ScrolledListBox(w.interior(), - items = range(20), listbox_height = 6) + items = list(range(20)), listbox_height = 6) lb.pack(padx = 10, pady = 10) def _testYView(doBottom): --- Pmw/Pmw_1_3_3/tests/ScrolledListBox_test.py (original) +++ Pmw/Pmw_1_3_3/tests/ScrolledListBox_test.py (refactored) @@ -1,6 +1,6 @@ # Based on iwidgets2.2.0/tests/scrolledlistbox.test code. -import Tkinter +import tkinter import Test import Pmw --- Pmw/Pmw_1_3_3/tests/SelectionDialog_test.py (original) +++ Pmw/Pmw_1_3_3/tests/SelectionDialog_test.py (refactored) @@ -1,4 +1,4 @@ -import Tkinter +import tkinter import Test import Pmw @@ -25,7 +25,7 @@ ('label_image', ''), ('label_bitmap', ''), (c.title, 'SelectionDialog 1: new title', ''), - (c.interior, (), Tkinter.Frame), + (c.interior, (), tkinter.Frame), ('defaultbutton', 'OK'), (c.delete, (0, 'end')), (c.get, (0, 'end'), ()), --- Pmw/Pmw_1_3_3/tests/Test.py (original) +++ Pmw/Pmw_1_3_3/tests/Test.py (refactored) @@ -7,10 +7,10 @@ import sys import traceback import types -import Tkinter +import tkinter import _tkinter -if Tkinter.TkVersion >= 8.4: +if tkinter.TkVersion >= 8.4: refcountafterdestroy = 7 else: refcountafterdestroy = 6 @@ -61,7 +61,7 @@ global _initialised, font, flagup, earthris, emptyimage, \ stringvar, floatvar, root, reliefs if not _initialised: - root = Tkinter.Tk(className = 'PmwTest') + root = tkinter.Tk(className = 'PmwTest') root.withdraw() if os.name == 'nt': size = 16 @@ -72,12 +72,12 @@ font['small'] = '6x13' font['large'] = '10x20' font['variable'] = '-Adobe-Helvetica-Bold-R-Normal--*-120-*-*-*-*-*-*' - flagup = Tkinter.BitmapImage(file = 'flagup.bmp') - earthris = Tkinter.PhotoImage(file = 'earthris.gif') - emptyimage = Tkinter.PhotoImage() - stringvar = Tkinter.StringVar() + flagup = tkinter.BitmapImage(file = 'flagup.bmp') + earthris = tkinter.PhotoImage(file = 'earthris.gif') + emptyimage = tkinter.PhotoImage() + stringvar = tkinter.StringVar() stringvar.set('this is some text') - floatvar = Tkinter.DoubleVar() + floatvar = tkinter.DoubleVar() floatvar.set(50.0) if haveBlt(): global vectorSize, vector_x, vector_y @@ -93,7 +93,7 @@ vector_y[2].append(random() % 100 + 300) # "solid" relief type was added to 8.0 - if Tkinter.TkVersion >= 8.0: + if tkinter.TkVersion >= 8.0: reliefs = 'flat, groove, raised, ridge, solid, or sunken' else: reliefs = 'flat, groove, raised, ridge, or sunken' @@ -162,7 +162,7 @@ # Private functions: def _print_results(result, expected, description): - if type(expected) == types.ClassType: + if type(expected) == type: if hasattr(result, '__class__'): ok = (result.__class__ == expected) else: @@ -181,8 +181,8 @@ elif hasattr(_tkinter, 'Tcl_Obj') and \ type(result) == _tkinter.Tcl_Obj: ok = (str(stringvar) == result.string) - elif type(expected) == types.IntType: - if type(result) is types.StringType: + elif type(expected) == int: + if type(result) is bytes: try: ok = (string.atoi(result) == expected) except ValueError: @@ -190,8 +190,8 @@ elif hasattr(_tkinter, 'Tcl_Obj') and \ type(result) == _tkinter.Tcl_Obj: ok = (string.atoi(str(result)) == expected) - elif type(expected) == types.FloatType: - if type(result) is types.StringType: + elif type(expected) == float: + if type(result) is bytes: try: ok = (string.atof(result) == expected) except ValueError: @@ -207,54 +207,54 @@ ok = re.search('^[0-9]*L?actioncallback$',str(result)) is not None if not ok or _verbose > 0: - print '====', description + print('====', description) if not ok or _verbose > 1: - print '==== result was:' - print result, type(result) + print('==== result was:') + print(result, type(result)) if ok: if _verbose > 1: - print '++++ PASSED' - else: - print '---- result should have been:' - print expected, type(expected) + print('++++ PASSED') + else: + print('---- result should have been:') + print(expected, type(expected)) if _printTraceback: traceback.print_exc() - print '---- FAILED' - print + print('---- FAILED') + print() def _destroyToplevel(top, title): if _verbose > 0: - print '==== destruction of Toplevel for', title + print('==== destruction of Toplevel for', title) top.destroy() def _Toplevel(title): if _verbose > 0: - print '==== construction of Toplevel for', title - top = Tkinter.Toplevel() + print('==== construction of Toplevel for', title) + top = tkinter.Toplevel() top.geometry('+100+100') top.title(title) return top def _constructor(isWidget, top, classCmd, kw): if _verbose > 0: - print '====', classCmd.__name__, 'construction' + print('====', classCmd.__name__, 'construction') if isWidget: if dont_even_try: - w = apply(classCmd, (top,), kw) + w = classCmd(*(top,), **kw) else: try: - w = apply(classCmd, (top,), kw) + w = classCmd(*(top,), **kw) except: - print 'Could not construct', classCmd.__name__ + print('Could not construct', classCmd.__name__) traceback.print_exc() - print 'Can not continue' - print 'Bye' + print('Can not continue') + print('Bye') return None isMegaWidget = hasattr(classCmd, 'defineoptions') # Check the option types: options = w.configure() - option_list = options.keys() + option_list = list(options.keys()) option_list.sort() for option in option_list: # Some of the options (like bd, bg and fg) have only two parts @@ -264,24 +264,24 @@ if dont_even_try: value = w.cget(option) if option not in ('class', 'container') and not initoption: - apply(w.configure, (), {option : value}) + w.configure(*(), **{option : value}) newvalue = w.cget(option) if newvalue != value: - print '====', classCmd.__name__, 'widget', \ - '\'' + option + '\'', 'option' - print '---- setting option returns different value' - print '==== new value was:' - print newvalue, type(newvalue) - print '---- set value was:' - print value, type(value) - print '---- FAILED' - print + print('====', classCmd.__name__, 'widget', \ + '\'' + option + '\'', 'option') + print('---- setting option returns different value') + print('==== new value was:') + print(newvalue, type(newvalue)) + print('---- set value was:') + print(value, type(value)) + print('---- FAILED') + print() else: try: value = w.cget(option) if option not in ('class', 'container') and not initoption: try: - apply(w.configure, (), {option : value}) + w.configure(*(), **{option : value}) newvalue = w.cget(option) if hasattr(_tkinter, 'Tcl_Obj') and \ ( @@ -295,38 +295,38 @@ not hasattr(_tkinter, 'Tcl_Obj') and newvalue != value ): - print '====', classCmd.__name__, 'widget', \ - '\'' + option + '\'', 'option' - print '---- setting option returns different value' - print '==== new value was:' - print `newvalue`, type(newvalue)RefactoringTool: No changes to Pmw/Pmw_1_3_3/tests/TestVersion.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/TextDialog_test.py RefactoringTool: Refactored Pmw/Pmw_1_3_3/tests/Tkinter_test.py - print '---- set value was:' - print `value`, type(value) - print '---- FAILED' - print + print('====', classCmd.__name__, 'widget', \ + '\'' + option + '\'', 'option') + print('---- setting option returns different value') + print('==== new value was:') + print(repr(newvalue), type(newvalue)) + print('---- set value was:') + print(repr(value), type(value)) + print('---- FAILED') + print() except: - print '====', classCmd.__name__, 'widget', \ - '\'' + option + '\'', 'option' - print '---- could not set option' - print '---- FAILED' - print + print('====', classCmd.__name__, 'widget', \ + '\'' + option + '\'', 'option') + print('---- could not set option') + print('---- FAILED') + print() except KeyError: - print '====', classCmd.__name__, 'widget', \ - '\'' + option + '\'', 'option' - print '---- unknown option' - print '---- FAILED' - print + print('====', classCmd.__name__, 'widget', \ + '\'' + option + '\'', 'option') + print('---- unknown option') + print('---- FAILED') + print() if hasattr(classCmd, 'geometry'): w.geometry('+100+100') w.title(classCmd.__name__) else: - w = apply(classCmd, (), kw) + w = classCmd(*(), **kw) return w def _destructor(widget, isWidget): if _verbose > 0: - print '====', widget.__class__.__name__, 'destruction' + print('====', widget.__class__.__name__, 'destruction') if isWidget: if dont_even_try: widget.destroy() @@ -335,15 +335,15 @@ widget.destroy() ref = sys.getrefcount(widget) if ref != refcountafterdestroy: - print '====', widget.__class__.__name__, 'destructor' - print '---- refcount', ref, 'not zero after destruction' - print '---- FAILED' - print + print('====', widget.__class__.__name__, 'destructor') + print('---- refcount', ref, 'not zero after destruction') + print('---- FAILED') + print() except: - print 'Could not destroy', widget.__class__.__name__ + print('Could not destroy', widget.__class__.__name__) traceback.print_exc() - print 'Can not continue' - print 'Bye' + print('Can not continue') + print('Bye') return None return 1 @@ -409,7 +409,7 @@ root.quit() return classCmd, fileTests = allTestData[index0] - if classCmd == Tkinter.Menu: + if classCmd == tkinter.Menu: isToplevel = 1 else: isToplevel = hasattr(classCmd, 'userdeletefunc') @@ -447,7 +447,7 @@ index1 = index1 + 1 else: methodTestData = methodTests[index2] - if type(methodTestData[0]) == types.StringType: + if type(methodTestData[0]) == bytes: _configureTest(w, methodTestData) else: _methodTest(w, methodTestData) @@ -459,11 +459,11 @@ option = testData[0] value = testData[1] if dont_even_try: - apply(w.configure, (), {option: value}) + w.configure(*(), **{option: value}) result = w.cget(option) else: try: - apply(w.configure, (), {option: value}) + w.configure(*(), **{option: value}) result = w.cget(option) except: result = _getErrorValue() @@ -484,7 +484,7 @@ # # Handle python 1.5 class exceptions. # exc_type = exc_type.__name__ exc_type = exc_type.__name__ - if type(exc_value) == types.StringType: + if type(exc_value) == bytes: return exc_type + ': ' + exc_value else: exc_value_str = str(exc_value) @@ -498,30 +498,30 @@ kw = {} expected = None if len(testData) == 3: - if type(testData[2]) == types.DictionaryType: + if type(testData[2]) == dict: kw = testData[2] else: expected = testData[2] elif len(testData) > 3: kw = testData[2] expected = testData[3] - if type(args) != types.TupleType: + if type(args) != tuple: args = (args,) if func is num_options: args = (w,) + args origArgs = args - if type(func) == types.MethodType and func.im_self is None: + if type(func) == types.MethodType and func.__self__ is None: args = (w,) + args if dont_even_try: - result = apply(func, args, kw) + result = func(*args, **kw) else: try: - result = apply(func, args, kw) + result = func(*args, **kw) except: result = _getErrorValue() if hasattr(func, 'im_func'): name = w.__class__.__name__ + ' method ' + \ - func.im_func.func_code.co_name + func.__func__.__code__.co_name else: name = 'function ' + func.__name__ name = name + ' ' + str(origArgs) --- Pmw/Pmw_1_3_3/tests/TextDialog_test.py (original) +++ Pmw/Pmw_1_3_3/tests/TextDialog_test.py (refactored) @@ -1,4 +1,4 @@ -import Tkinter +import tkinter import Test import Pmw @@ -27,7 +27,7 @@ ('label_image', ''), ('label_bitmap', ''), (c.title, 'TextDialog 1: new title', ''), - (c.interior, (), Tkinter.Frame), + (c.interior, (), tkinter.Frame), ('defaultbutton', 'OK'), (c.clear, ()), (c.get, (), '\n'), --- Pmw/Pmw_1_3_3/tests/Tkinter_test.py (original) +++ Pmw/Pmw_1_3_3/tests/Tkinter_test.py (refactored) @@ -1,12 +1,12 @@ # Tests for basic Tkinter widgets. -import Tkinter +import tkinter import Test Test.initialise() testData = () -if Tkinter.TkVersion >= 8.0: +if tkinter.TkVersion >= 8.0: button_num = 31 frame_num = 16 menu_num = 20 @@ -17,7 +17,7 @@ menu_num = 19 menubutton_num = 31 -c = Tkinter.Button +c = tkinter.Button tests = ( (c.pack, ()), (Test.num_options, (), button_num), @@ -30,7 +30,7 @@ ) testData = testData + ((c, ((tests, {}),)),) -c = Tkinter.Canvas +c = tkinter.Canvas tests = ( (c.pack, ()), (Test.num_options, (), 27), @@ -71,7 +71,7 @@ ) testData = testData + ((c, ((tests, {}),)),) -c = Tkinter.Checkbutton +c = tkinter.Checkbutton tests = ( (c.pack, ()), (Test.num_options, (), 36), @@ -84,7 +84,7 @@ ) testData = testData + ((c, ((tests, {}),)),) -c = Tkinter.Entry +c = tkinter.Entry tests = ( (c.pack, ()), (Test.num_options, (), 28), @@ -100,7 +100,7 @@ ) testData = testData + ((c, ((tests, {}),)),) -c = Tkinter.Frame +c = tkinter.Frame tests = ( (c.pack, ()), (Test.num_options, (), frame_num), @@ -111,7 +111,7 @@ ) testData = testData + ((c, ((tests, {}),)),) -c = Tkinter.Label +c = tkinter.Label tests = ( (c.pack, ()), (Test.num_options, (), 25), @@ -122,7 +122,7 @@ ) testData = testData + ((c, ((tests, {}),)),) -c = Tkinter.Listbox +c = tkinter.Listbox tests = ( (c.pack, ()), (Test.num_options, (), 23), @@ -142,7 +142,7 @@ ) testData = testData + ((c, ((tests, {}),)),) -c = Tkinter.Menu +c = tkinter.Menu tests = ( (Test.num_options, (), menu_num), ('background', 'lightsteelblue1'), @@ -169,7 +169,7 @@ ) testData = testData + ((c, ((tests, {}),)),) -c = Tkinter.Menubutton +c = tkinter.Menubutton tests = ( (c.pack, ()), (Test.num_options, (), menubutton_num), @@ -179,7 +179,7 @@ ) testData = testData + ((c, ((tests, {}),)),) -c = Tkinter.Message +c = tkinter.Message tests = ( (c.pack, ()), (Test.num_options, (), 21), @@ -194,7 +194,7 @@ ) testData = testData + ((c, ((tests, {}),)),) -c = Tkinter.Radiobutton +c = tkinter.Radiobutton tests = ( (c.pack, ()), (Test.num_options, (), 35), @@ -214,7 +214,7 @@ ) testData = testData + ((c, ((tests, {}),)),) -c = Tkinter.Scale +c = tkinter.Scale tests = ( (c.pack, ()), (Test.num_options, (), 33), @@ -232,7 +232,7 @@ ) testData = testData + ((c, ((tests, {}),)),) -c = Tkinter.Scrollbar +c = tkinter.Scrollbar tests = ( (c.pack, (), {'fill': 'x'}), (Test.num_options, (), 20), @@ -249,7 +249,7 @@ ) testData = testData + ((c, ((tests, {}),)),) -c = Tkinter.Text +c = tkinter.Text tests = ( (c.pack, ()), (Test.num_options, (), 35), @@ -304,14 +304,14 @@ def _makeGridButtons(): w = Test.currentWidget() - b1 = Tkinter.Button(w, text = 'Button 1')RefactoringTool: Refactored Pmw/Pmw_2_0_1/bin/bundlepmw.py RefactoringTool: Refactored Pmw/Pmw_2_0_1/contrib/DirBrowser.py RefactoringTool: Refactored Pmw/Pmw_2_0_1/contrib/MCListbox.py RefactoringTool: Refactored Pmw/Pmw_2_0_1/contrib/PmwFileDialog.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/contrib/PmwFullTimeCounter.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/contrib/PmwVerticalGauge.py RefactoringTool: Refactored Pmw/Pmw_2_0_1/contrib/TreeBrowser.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/AboutDialog.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/All.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/Args.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/Balloon.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/BltGraph.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/BltTabset.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/ButtonBox.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/Colors.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/ComboBox.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/ComboBoxDialog.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/ConfigClass.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/Counter.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/CounterDialog.py RefactoringTool: Can't parse Pmw/Pmw_2_0_1/demos/DemoVersion.py: ParseError: bad input: type=22, value='=', context=('', (35, 61)) RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/Dialog.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/EntryField.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/ErrorHandling.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/ExampleDemo.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/Grid.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/Group.py RefactoringTool: Refactored Pmw/Pmw_2_0_1/demos/HistoryText.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/LabeledWidget.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/LogicalFont.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/MainMenuBar.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/MenuBar.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/MessageBar.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/MessageDialog.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/MessageInfo.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/MultiLineLabel.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/NestedDialogs.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/NoteBook.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/NoteBook_2.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/NoteBook_3.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/OptionMenu.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/PanedWidget.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/PanedWidget_2.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/PromptDialog.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/RadioSelect.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/Resources.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/Resources_Pmw.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/ScrolledCanvas.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/ScrolledField.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/ScrolledFrame.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/ScrolledListBox.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/ScrolledText.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/ScrolledText_2.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/SelectionDialog.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/ShowBusy.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/SpecialCounter.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/SpecialEntry.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/Spectrum.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/SpeedTest.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/SubClassing.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/TextDialog.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/TextDisplay.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/TimeCounter.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/demos/WidgetDestroy.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/doc/ExampleDemo.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/doc/ScrolledText_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/doc/example.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/doc/exercises.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwAboutDialog.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwBalloon.py RefactoringTool: Refactored Pmw/Pmw_2_0_1/lib/PmwBase.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwBlt.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwButtonBox.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwColor.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwComboBox.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwComboBoxDialog.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwCounter.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwCounterDialog.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwDialog.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwEntryField.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwGroup.py RefactoringTool: Refactored Pmw/Pmw_2_0_1/lib/PmwHistoryText.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwLabeledWidget.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwLoader.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwLogicalFont.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwMainMenuBar.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwMenuBar.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwMessageBar.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwMessageDialog.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwNoteBook.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwOptionMenu.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwPanedWidget.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwPromptDialog.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwRadioSelect.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwScrolledCanvas.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwScrolledField.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwScrolledFrame.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwScrolledListBox.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwScrolledText.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwSelectionDialog.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwTextDialog.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwTimeCounter.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/lib/PmwTimeFuncs.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/AboutDialog_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/All.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/Blt_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/ButtonBox_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/Colors_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/ComboBox_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/CounterDialog_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/Counter_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/Dialog_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/EntryField_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/LabeledWidget_test.py RefactoringTool: Refactored Pmw/Pmw_2_0_1/tests/ManualTests.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/MegaWidget_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/MessageDialog_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/NoteBook_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/OptionMenu_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/Options_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/PanedWidget_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/PmwBase_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/PromptDialog_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/RadioSelect_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/ScrolledCanvas_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/ScrolledField_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/ScrolledFrame_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/ScrolledListBox_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/ScrolledText_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/SelectionDialog_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/Test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/TestVersion.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/TextDialog_test.py RefactoringTool: No changes to Pmw/Pmw_2_0_1/tests/Tkinter_test.py RefactoringTool: Files that need to be modified: RefactoringTool: Pmw/__init__.py RefactoringTool: Pmw/Pmw_1_3_3/bin/bundlepmw.py RefactoringTool: Pmw/Pmw_1_3_3/contrib/DirBrowser.py RefactoringTool: Pmw/Pmw_1_3_3/contrib/MCListbox.py RefactoringTool: Pmw/Pmw_1_3_3/contrib/PmwFileDialog.py RefactoringTool: Pmw/Pmw_1_3_3/contrib/PmwFullTimeCounter.py RefactoringTool: Pmw/Pmw_1_3_3/contrib/PmwVerticalGauge.py RefactoringTool: Pmw/Pmw_1_3_3/contrib/TreeBrowser.py RefactoringTool: Pmw/Pmw_1_3_3/demos/AboutDialog.py RefactoringTool: Pmw/Pmw_1_3_3/demos/All.py RefactoringTool: Pmw/Pmw_1_3_3/demos/Args.py RefactoringTool: Pmw/Pmw_1_3_3/demos/Balloon.py RefactoringTool: Pmw/Pmw_1_3_3/demos/BltGraph.py RefactoringTool: Pmw/Pmw_1_3_3/demos/BltTabset.py RefactoringTool: Pmw/Pmw_1_3_3/demos/ButtonBox.py RefactoringTool: Pmw/Pmw_1_3_3/demos/Colors.py RefactoringTool: Pmw/Pmw_1_3_3/demos/ComboBox.py RefactoringTool: Pmw/Pmw_1_3_3/demos/ComboBoxDialog.py RefactoringTool: Pmw/Pmw_1_3_3/demos/ConfigClass.py RefactoringTool: Pmw/Pmw_1_3_3/demos/Counter.py RefactoringTool: Pmw/Pmw_1_3_3/demos/CounterDialog.py RefactoringTool: Pmw/Pmw_1_3_3/demos/DemoVersion.py RefactoringTool: Pmw/Pmw_1_3_3/demos/Dialog.py RefactoringTool: Pmw/Pmw_1_3_3/demos/EntryField.py RefactoringTool: Pmw/Pmw_1_3_3/demos/ErrorHandling.py RefactoringTool: Pmw/Pmw_1_3_3/demos/ExampleDemo.py RefactoringTool: Pmw/Pmw_1_3_3/demos/Grid.py RefactoringTool: Pmw/Pmw_1_3_3/demos/Group.py RefactoringTool: Pmw/Pmw_1_3_3/demos/HistoryText.py RefactoringTool: Pmw/Pmw_1_3_3/demos/LabeledWidget.py RefactoringTool: Pmw/Pmw_1_3_3/demos/LogicalFont.py RefactoringTool: Pmw/Pmw_1_3_3/demos/MainMenuBar.py RefactoringTool: Pmw/Pmw_1_3_3/demos/MenuBar.py RefactoringTool: Pmw/Pmw_1_3_3/demos/MessageBar.py RefactoringTool: Pmw/Pmw_1_3_3/demos/MessageDialog.py RefactoringTool: Pmw/Pmw_1_3_3/demos/MessageInfo.py RefactoringTool: Pmw/Pmw_1_3_3/demos/MultiLineLabel.py RefactoringTool: Pmw/Pmw_1_3_3/demos/NestedDialogs.py RefactoringTool: Pmw/Pmw_1_3_3/demos/NoteBook.py RefactoringTool: Pmw/Pmw_1_3_3/demos/NoteBook_2.py RefactoringTool: Pmw/Pmw_1_3_3/demos/NoteBook_3.py RefactoringTool: Pmw/Pmw_1_3_3/demos/OptionMenu.py RefactoringTool: Pmw/Pmw_1_3_3/demos/PanedWidget.py RefactoringTool: Pmw/Pmw_1_3_3/demos/PanedWidget_2.py RefactoringTool: Pmw/Pmw_1_3_3/demos/PromptDialog.py RefactoringTool: Pmw/Pmw_1_3_3/demos/RadioSelect.py RefactoringTool: Pmw/Pmw_1_3_3/demos/Resources.py RefactoringTool: Pmw/Pmw_1_3_3/demos/Resources_Pmw.py RefactoringTool: Pmw/Pmw_1_3_3/demos/ScrolledCanvas.py RefactoringTool: Pmw/Pmw_1_3_3/demos/ScrolledField.py RefactoringTool: Pmw/Pmw_1_3_3/demos/ScrolledFrame.py RefactoringTool: Pmw/Pmw_1_3_3/demos/ScrolledListBox.py RefactoringTool: Pmw/Pmw_1_3_3/demos/ScrolledText.py RefactoringTool: Pmw/Pmw_1_3_3/demos/ScrolledText_2.py RefactoringTool: Pmw/Pmw_1_3_3/demos/SelectionDialog.py RefactoringTool: Pmw/Pmw_1_3_3/demos/ShowBusy.py RefactoringTool: Pmw/Pmw_1_3_3/demos/SpecialCounter.py RefactoringTool: Pmw/Pmw_1_3_3/demos/SpecialEntry.py RefactoringTool: Pmw/Pmw_1_3_3/demos/Spectrum.py RefactoringTool: Pmw/Pmw_1_3_3/demos/SpeedTest.py RefactoringTool: Pmw/Pmw_1_3_3/demos/SubClassing.py RefactoringTool: Pmw/Pmw_1_3_3/demos/TextDialog.py RefactoringTool: Pmw/Pmw_1_3_3/demos/TextDisplay.py RefactoringTool: Pmw/Pmw_1_3_3/demos/TimeCounter.py RefactoringTool: Pmw/Pmw_1_3_3/demos/WidgetDestroy.py RefactoringTool: Pmw/Pmw_1_3_3/doc/ExampleDemo.py RefactoringTool: Pmw/Pmw_1_3_3/doc/ScrolledText_test.py RefactoringTool: Pmw/Pmw_1_3_3/doc/example.py RefactoringTool: Pmw/Pmw_1_3_3/doc/exercises.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwAboutDialog.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwBalloon.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwBase.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwBlt.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwButtonBox.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwColor.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwComboBox.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwComboBoxDialog.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwCounter.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwCounterDialog.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwDialog.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwEntryField.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwGroup.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwHistoryText.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwLabeledWidget.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwLoader.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwLogicalFont.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwMainMenuBar.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwMenuBar.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwMessageBar.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwMessageDialog.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwNoteBook.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwOptionMenu.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwPanedWidget.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwPromptDialog.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwRadioSelect.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwScrolledCanvas.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwScrolledField.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwScrolledFrame.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwScrolledListBox.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwScrolledText.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwSelectionDialog.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwTextDialog.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwTimeCounter.py RefactoringTool: Pmw/Pmw_1_3_3/lib/PmwTimeFuncs.py RefactoringTool: Pmw/Pmw_1_3_3/tests/AboutDialog_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/All.py RefactoringTool: Pmw/Pmw_1_3_3/tests/Blt_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/ButtonBox_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/Colors_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/ComboBox_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/CounterDialog_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/Counter_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/Dialog_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/EntryField_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/LabeledWidget_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/ManualTests.py RefactoringTool: Pmw/Pmw_1_3_3/tests/MegaWidget_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/MessageDialog_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/NoteBook_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/OptionMenu_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/Options_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/PanedWidget_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/PmwBase_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/PromptDialog_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/RadioSelect_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/ScrolledCanvas_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/ScrolledField_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/ScrolledFrame_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/ScrolledListBox_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/ScrolledText_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/SelectionDialog_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/Test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/TestVersion.py RefactoringTool: Pmw/Pmw_1_3_3/tests/TextDialog_test.py RefactoringTool: Pmw/Pmw_1_3_3/tests/Tkinter_test.py RefactoringTool: Pmw/Pmw_2_0_1/bin/bundlepmw.py RefactoringTool: Pmw/Pmw_2_0_1/contrib/DirBrowser.py RefactoringTool: Pmw/Pmw_2_0_1/contrib/MCListbox.py RefactoringTool: Pmw/Pmw_2_0_1/contrib/PmwFileDialog.py RefactoringTool: Pmw/Pmw_2_0_1/contrib/PmwFullTimeCounter.py RefactoringTool: Pmw/Pmw_2_0_1/contrib/PmwVerticalGauge.py RefactoringTool: Pmw/Pmw_2_0_1/contrib/TreeBrowser.py RefactoringTool: Pmw/Pmw_2_0_1/demos/AboutDialog.py RefactoringTool: Pmw/Pmw_2_0_1/demos/All.py RefactoringTool: Pmw/Pmw_2_0_1/demos/Args.py RefactoringTool: Pmw/Pmw_2_0_1/demos/Balloon.py RefactoringTool: Pmw/Pmw_2_0_1/demos/BltGraph.py RefactoringTool: Pmw/Pmw_2_0_1/demos/BltTabset.py RefactoringTool: Pmw/Pmw_2_0_1/demos/ButtonBox.py RefactoringTool: Pmw/Pmw_2_0_1/demos/Colors.py RefactoringTool: Pmw/Pmw_2_0_1/demos/ComboBox.py RefactoringTool: Pmw/Pmw_2_0_1/demos/ComboBoxDialog.py RefactoringTool: Pmw/Pmw_2_0_1/demos/ConfigClass.py RefactoringTool: Pmw/Pmw_2_0_1/demos/Counter.py RefactoringTool: Pmw/Pmw_2_0_1/demos/CounterDialog.py RefactoringTool: Pmw/Pmw_2_0_1/demos/Dialog.py RefactoringTool: Pmw/Pmw_2_0_1/demos/EntryField.py RefactoringTool: Pmw/Pmw_2_0_1/demos/ErrorHandling.py RefactoringTool: Pmw/Pmw_2_0_1/demos/ExampleDemo.py RefactoringTool: Pmw/Pmw_2_0_1/demos/Grid.py RefactoringTool: Pmw/Pmw_2_0_1/demos/Group.py RefactoringTool: Pmw/Pmw_2_0_1/demos/HistoryText.py RefactoringTool: Pmw/Pmw_2_0_1/demos/LabeledWidget.py RefactoringTool: Pmw/Pmw_2_0_1/demos/LogicalFont.py RefactoringTool: Pmw/Pmw_2_0_1/demos/MainMenuBar.py RefactoringTool: Pmw/Pmw_2_0_1/demos/MenuBar.py RefactoringTool: Pmw/Pmw_2_0_1/demos/MessageBar.py RefactoringTool: Pmw/Pmw_2_0_1/demos/MessageDialog.py RefactoringTool: Pmw/Pmw_2_0_1/demos/MessageInfo.py RefactoringTool: Pmw/Pmw_2_0_1/demos/MultiLineLabel.py RefactoringTool: Pmw/Pmw_2_0_1/demos/NestedDialogs.py RefactoringTool: Pmw/Pmw_2_0_1/demos/NoteBook.py RefactoringTool: Pmw/Pmw_2_0_1/demos/NoteBook_2.py RefactoringTool: Pmw/Pmw_2_0_1/demos/NoteBook_3.py RefactoringTool: Pmw/Pmw_2_0_1/demos/OptionMenu.py RefactoringTool: Pmw/Pmw_2_0_1/demos/PanedWidget.py RefactoringTool: Pmw/Pmw_2_0_1/demos/PanedWidget_2.py RefactoringTool: Pmw/Pmw_2_0_1/demos/PromptDialog.py RefactoringTool: Pmw/Pmw_2_0_1/demos/RadioSelect.py RefactoringTool: Pmw/Pmw_2_0_1/demos/Resources.py RefactoringTool: Pmw/Pmw_2_0_1/demos/Resources_Pmw.py RefactoringTool: Pmw/Pmw_2_0_1/demos/ScrolledCanvas.py RefactoringTool: Pmw/Pmw_2_0_1/demos/ScrolledField.py RefactoringTool: Pmw/Pmw_2_0_1/demos/ScrolledFrame.py RefactoringTool: Pmw/Pmw_2_0_1/demos/ScrolledListBox.py RefactoringTool: Pmw/Pmw_2_0_1/demos/ScrolledText.py RefactoringTool: Pmw/Pmw_2_0_1/demos/ScrolledText_2.py RefactoringTool: Pmw/Pmw_2_0_1/demos/SelectionDialog.py RefactoringTool: Pmw/Pmw_2_0_1/demos/ShowBusy.py RefactoringTool: Pmw/Pmw_2_0_1/demos/SpecialCounter.py RefactoringTool: Pmw/Pmw_2_0_1/demos/SpecialEntry.py RefactoringTool: Pmw/Pmw_2_0_1/demos/Spectrum.py RefactoringTool: Pmw/Pmw_2_0_1/demos/SpeedTest.py RefactoringTool: Pmw/Pmw_2_0_1/demos/SubClassing.py RefactoringTool: Pmw/Pmw_2_0_1/demos/TextDialog.py RefactoringTool: Pmw/Pmw_2_0_1/demos/TextDisplay.py RefactoringTool: Pmw/Pmw_2_0_1/demos/TimeCounter.py RefactoringTool: Pmw/Pmw_2_0_1/demos/WidgetDestroy.py RefactoringTool: Pmw/Pmw_2_0_1/doc/ExampleDemo.py RefactoringTool: Pmw/Pmw_2_0_1/doc/ScrolledText_test.py RefactoringTool: Pmw/Pmw_2_0_1/doc/example.py RefactoringTool: Pmw/Pmw_2_0_1/doc/exercises.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwAboutDialog.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwBalloon.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwBase.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwBlt.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwButtonBox.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwColor.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwComboBox.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwComboBoxDialog.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwCounter.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwCounterDialog.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwDialog.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwEntryField.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwGroup.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwHistoryText.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwLabeledWidget.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwLoader.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwLogicalFont.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwMainMenuBar.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwMenuBar.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwMessageBar.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwMessageDialog.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwNoteBook.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwOptionMenu.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwPanedWidget.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwPromptDialog.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwRadioSelect.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwScrolledCanvas.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwScrolledField.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwScrolledFrame.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwScrolledListBox.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwScrolledText.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwSelectionDialog.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwTextDialog.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwTimeCounter.py RefactoringTool: Pmw/Pmw_2_0_1/lib/PmwTimeFuncs.py RefactoringTool: Pmw/Pmw_2_0_1/tests/AboutDialog_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/All.py RefactoringTool: Pmw/Pmw_2_0_1/tests/Blt_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/ButtonBox_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/Colors_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/ComboBox_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/CounterDialog_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/Counter_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/Dialog_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/EntryField_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/LabeledWidget_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/ManualTests.py RefactoringTool: Pmw/Pmw_2_0_1/tests/MegaWidget_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/MessageDialog_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/NoteBook_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/OptionMenu_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/Options_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/PanedWidget_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/PmwBase_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/PromptDialog_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/RadioSelect_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/ScrolledCanvas_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/ScrolledField_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/ScrolledFrame_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/ScrolledListBox_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/ScrolledText_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/SelectionDialog_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/Test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/TestVersion.py RefactoringTool: Pmw/Pmw_2_0_1/tests/TextDialog_test.py RefactoringTool: Pmw/Pmw_2_0_1/tests/Tkinter_test.py RefactoringTool: There was 1 error: RefactoringTool: Can't parse Pmw/Pmw_2_0_1/demos/DemoVersion.py: ParseError: bad input: type=22, value='=', context=('', (35, 61)) - b2 = Tkinter.Button(w, text = 'Button 2') - b3 = Tkinter.Button(w, text = 'Button 3') - b4 = Tkinter.Button(w, text = 'Button 4') - b5 = Tkinter.Button(w, text = 'Button 5') - b6 = Tkinter.Button(w, text = 'Button 6') - b7 = Tkinter.Button(w, text = 'Button 7') - b8 = Tkinter.Button(w, text = 'Button 8') + b1 = tkinter.Button(w, text = 'Button 1') + b2 = tkinter.Button(w, text = 'Button 2') + b3 = tkinter.Button(w, text = 'Button 3') + b4 = tkinter.Button(w, text = 'Button 4') + b5 = tkinter.Button(w, text = 'Button 5') + b6 = tkinter.Button(w, text = 'Button 6') + b7 = tkinter.Button(w, text = 'Button 7') + b8 = tkinter.Button(w, text = 'Button 8') b1.grid(column=0, row=0) b2.grid(column=1, row=0) @@ -332,7 +332,7 @@ info = b8.grid_info() if info['in'] == w: rtn = {} - for key, value in info.items(): + for key, value in list(info.items()): if key != 'in': rtn[key] = value return rtn @@ -346,7 +346,7 @@ # The -pad grid option was added in Tk 4.2. # Could not do columnconfigure(0) before Tk 4.2. -if Tkinter.TkVersion >= 4.2: +if tkinter.TkVersion >= 4.2: padTest = {'pad': 25} colTest = {'minsize': 100, 'pad': 25, 'weight': 1} rowTest = {'minsize': 100, 'pad': 0, 'weight': 1} @@ -355,7 +355,7 @@ colTest = 'TclError: wrong # args: should be "grid columnconfigure master index ?-option value...?"' rowTest = 'TclError: wrong # args: should be "grid rowconfigure master index ?-option value...?"' -c = Tkinter.Frame +c = tkinter.Frame tests = ( (c.pack, (), {'fill': 'both', 'expand': 1}), (_makeGridButtons, ()), --- Pmw/Pmw_2_0_1/bin/bundlepmw.py (original) +++ Pmw/Pmw_2_0_1/bin/bundlepmw.py (refactored) @@ -164,6 +164,6 @@ if needColor or needBlt: print(' Before running freeze, also copy the following file(s):') if needBlt: - print(' ' + os.path.join(srcdir, 'PmwBlt.py')) + print((' ' + os.path.join(srcdir, 'PmwBlt.py'))) if needColor: - print(' ' + os.path.join(srcdir, 'PmwColor.py')) + print((' ' + os.path.join(srcdir, 'PmwColor.py'))) --- Pmw/Pmw_2_0_1/contrib/DirBrowser.py (original) +++ Pmw/Pmw_2_0_1/contrib/DirBrowser.py (refactored) @@ -295,7 +295,7 @@ #hidedotfiles = 0, ) dir = dirBrowserDialog.activate() - print('Selected Directory:', dir) + print(('Selected Directory:', dir)) dirButton = tkinter.Button(rootWin, text="Browser", command=buildBrowser) dirButton.pack(side = 'left', padx = 10, pady = 10) --- Pmw/Pmw_2_0_1/contrib/MCListbox.py (original) +++ Pmw/Pmw_2_0_1/contrib/MCListbox.py (refactored) @@ -669,7 +669,7 @@ rootWin.update() def dbl(): - print(listbox.getcurselection()) + print((listbox.getcurselection())) listbox = MultiColumnListbox(rootWin, #usehullsize = 1, --- Pmw/Pmw_2_0_1/contrib/PmwFileDialog.py (original) +++ Pmw/Pmw_2_0_1/contrib/PmwFileDialog.py (refactored) @@ -488,7 +488,7 @@ f0=PmwFileDialog(root) f0.title('File name dialog') n=f0.askfilename() - print('\nFilename : ',repr(n),'\n') + print(('\nFilename : ',repr(n),'\n')) f1=PmwDirDialog(root,info='This is a directory dialog') f1.title('Directory name dialog') @@ -496,4 +496,4 @@ n=f1.askfilename() if n is None: break - print("Dirname : ",repr(n)) + print(("Dirname : ",repr(n))) --- Pmw/Pmw_2_0_1/contrib/TreeBrowser.py (original) +++ Pmw/Pmw_2_0_1/contrib/TreeBrowser.py (refactored) @@ -573,19 +573,19 @@ def printselected(node): selection = treeBrowser.curselection() if selection != None: - print("Selected node name:", selection[1], " label:", selection[2]) + print(("Selected node name:", selection[1], " label:", selection[2])) def printdeselected(node): selection = treeBrowser.curselection() if selection != None: - print("Deselected node name:", selection[1], " label:", selection[2]) + print(("Deselected node name:", selection[1], " label:", selection[2])) def printexpanded(node): - print("Expanded node name:", node.getname(), " label:", node.getlabel()) + print(("Expanded node name:", node.getname(), " label:", node.getlabel())) def printcollapsed(node): - print("Collapsed node name:", node.getname(), " label:", node.getlabel()) + print(("Collapsed node name:", node.getname(), " label:", node.getlabel())) --- Pmw/Pmw_2_0_1/demos/HistoryText.py (original) +++ Pmw/Pmw_2_0_1/demos/HistoryText.py (refactored) @@ -38,7 +38,7 @@ ['Redo', self.historyText.redo], [20, None], ['Prev', self.historyText.prev], - ['Next', self.historyText.next], + ['Next', self.historyText.__next__], [30, None], ['Execute', Pmw.busycallback(self.executeQuery)], ) --- Pmw/Pmw_2_0_1/lib/PmwBase.py (original) +++ Pmw/Pmw_2_0_1/lib/PmwBase.py (refactored) @@ -741,7 +741,7 @@ # Call the configure methods for any components. #list(map(apply, list(indirectOptions.keys()), # ((),) * len(indirectOptions), list(indirectOptions.values()))) - for func in indirectOptions.keys(): + for func in list(indirectOptions.keys()): func( **indirectOptions[func]); --- Pmw/Pmw_2_0_1/lib/PmwHistoryText.py (original) +++ Pmw/Pmw_2_0_1/lib/PmwHistoryText.py (refactored) @@ -75,7 +75,7 @@ self._lastIndex = self._lastIndex + 1 self._currIndex = self._lastIndex - def next(self): + def __next__(self): if self._currIndex == self._lastIndex and self._pastIndex is None: self.bell() else: --- Pmw/Pmw_2_0_1/tests/ManualTests.py (original) +++ Pmw/Pmw_2_0_1/tests/ManualTests.py (refactored) @@ -437,17 +437,17 @@ # size = string.atoi(string.lstrip(line[27:32])) size = string.atoi(string.lstrip(line[22:29])) if prevSize != size: - print(time.strftime('%H:%M:%S', time.localtime(time.time())),) - print(line[:-1]) + print((time.strftime('%H:%M:%S', time.localtime(time.time())),)) + print((line[:-1])) prevSize = size # ---------------------------------------------------------------------- def usageExit(): - print('Usage:', sys.argv[0], '') + print(('Usage:', sys.argv[0], '')) print(' where is one of:') for test in tests: - print(' ', test) + print((' ', test)) sys.exit() tests = [] @@ -461,7 +461,7 @@ testName = sys.argv[1] if testName not in tests: - print('Unknown test "' + testName + '"') + print(('Unknown test "' + testName + '"')) usageExit() if testName == 'reinitialise_test': >>> Source prepared. >>> Configuring source in /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1 ... >>> Source configured. >>> Compiling source in /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1 ... * python3_3: running distutils-r1_run_phase distutils-r1_python_compile /usr/bin/python3.3 setup.py build running build running build_py creating /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib creating /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw copying Pmw/__init__.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw creating /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1 copying Pmw/Pmw_2_0_1/__init__.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1 creating /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/__init__.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwTimeFuncs.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwTimeCounter.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwTextDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwSelectionDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwScrolledText.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwScrolledListBox.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwScrolledFrame.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwScrolledField.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwScrolledCanvas.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwRadioSelect.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwPromptDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwPanedWidget.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwOptionMenu.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwNoteBook.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwMessageDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwMessageBar.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwMenuBar.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwMainMenuBar.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwLogicalFont.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwLoader.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwLabeledWidget.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwHistoryText.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwGroup.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwEntryField.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwCounterDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwCounter.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwComboBoxDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwComboBox.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwColor.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwButtonBox.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwBlt.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwBase.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwBalloon.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/PmwAboutDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib copying Pmw/Pmw_2_0_1/lib/Pmw.def -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib creating /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/transdove.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/todo.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/TimeCounter.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/TimeCounter.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/TextDialog.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/TextDialog.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/starting.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/SelectionDialog.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/SelectionDialog.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/ScrolledText_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/ScrolledText.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/ScrolledText.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/ScrolledListBox.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/ScrolledListBox.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/ScrolledFrame.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/ScrolledFrame.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/ScrolledField.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/ScrolledField.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/ScrolledCanvas.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/ScrolledCanvas.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/scale2.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/scale1.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/refindex.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/RadioSelect.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/RadioSelect.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/PromptDialog.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/PromptDialog.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/porting.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/PmwFunctions.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/PanedWidget.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/PanedWidget.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/OptionMenu.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/OptionMenu.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/NoteBook.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/NoteBook.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/MessageDialog.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/MessageDialog.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/MessageBar.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/MessageBar.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/MenuBar.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/MenuBar.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/MegaWidget.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/MegaToplevel.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/MegaArchetype.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/MainMenuBar.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/MainMenuBar.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/LabeledWidget.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/LabeledWidget.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/index.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/howtouse.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/howtobuild.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/HistoryText.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/HistoryText.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/halfblueball.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/Group.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/Group.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/features.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/exercises.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/ExampleDemo.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/example2.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/example1.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/example.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/EntryField.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/EntryField.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/dynamicloader.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/Dialog.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/Dialog.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/demosandtests.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/CounterDialog.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/CounterDialog.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/counter2.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/counter1.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/Counter.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/Counter.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/copyright.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/ComboBoxDialog.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/ComboBoxDialog.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/ComboBox.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/ComboBox.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/Color.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/changes.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/ButtonBox.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/ButtonBox.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/bugs.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/blue_line.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/blueball.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/Blt.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/Balloon.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/Balloon.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/AboutDialog.html -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc copying Pmw/Pmw_2_0_1/doc/AboutDialog.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc creating /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/contrib copying Pmw/Pmw_2_0_1/contrib/TreeBrowser.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/contrib copying Pmw/Pmw_2_0_1/contrib/README -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/contrib copying Pmw/Pmw_2_0_1/contrib/PmwVerticalGauge.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/contrib copying Pmw/Pmw_2_0_1/contrib/PmwFullTimeCounter.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/contrib copying Pmw/Pmw_2_0_1/contrib/PmwFileDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/contrib copying Pmw/Pmw_2_0_1/contrib/MCListbox.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/contrib copying Pmw/Pmw_2_0_1/contrib/DirBrowser.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/contrib creating /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/WidgetDestroy.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/TimeCounter.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/TextDisplay.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/TextDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/SubClassing.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/SpeedTest.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/Spectrum.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/SpecialEntry.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/SpecialCounter.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/ShowBusy.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/SelectionDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/ScrolledText_2.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/ScrolledText.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/ScrolledListBox.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/ScrolledFrame.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/ScrolledField.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/ScrolledCanvas.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/Resources_Pmw.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/Resources.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/RadioSelect.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/PromptDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/PanedWidget_2.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/PanedWidget.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/OptionMenu.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/NoteBook_3.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/NoteBook_2.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/NoteBook.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/NestedDialogs.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/MultiLineLabel.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/MessageInfo.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/MessageDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/MessageBar.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/MenuBar.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/MainMenuBar.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/LogicalFont.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/LabeledWidget.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/HistoryText.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/Group.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/Grid.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/ExampleDemo.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/ErrorHandling.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/EntryField.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/Dialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/DemoVersion.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/CounterDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/Counter.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/ConfigClass.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/ComboBoxDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/ComboBox.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/Colors.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/ButtonBox.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/BltTabset.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/BltGraph.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/Balloon.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/Args.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/All.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos copying Pmw/Pmw_2_0_1/demos/AboutDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos creating /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/Tkinter_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/TextDialog_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/TestVersion.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/Test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/SelectionDialog_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/ScrolledText_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/ScrolledListBox_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/ScrolledFrame_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/ScrolledField_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/ScrolledCanvas_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/RadioSelect_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/PromptDialog_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/PmwBase_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/PanedWidget_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/Options_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/OptionMenu_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/NoteBook_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/MessageDialog_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/MegaWidget_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/ManualTests.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/LabeledWidget_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/flagup.bmp -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/EntryField_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/earthris.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/Dialog_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/Counter_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/CounterDialog_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/ComboBox_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/Colors_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/ButtonBox_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/Blt_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/All.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests copying Pmw/Pmw_2_0_1/tests/AboutDialog_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests creating /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/bin copying Pmw/Pmw_2_0_1/bin/bundlepmw.py -> /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/bin warning: build_py: byte-compiling is disabled, skipping. >>> Source compiled. * Skipping make test/check due to ebuild restriction. >>> Test phase [disabled because of RESTRICT=test]: dev-python/pmw-2.0.1 >>> Install pmw-2.0.1 into /var/tmp/portage/dev-python/pmw-2.0.1/image/ category dev-python * python3_3: running distutils-r1_run_phase distutils-r1_python_install /usr/bin/python3.3 setup.py install --root=/var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3 running install running build running build_py running install_lib creating /var/tmp/portage/dev-python/pmw-2.0.1/image/_python3.3 creating /var/tmp/portage/dev-python/pmw-2.0.1/image/_python3.3/usr creating /var/tmp/portage/dev-python/pmw-2.0.1/image/_python3.3/usr/lib64 creating /var/tmp/portage/dev-python/pmw-2.0.1/image/_python3.3/usr/lib64/python3.3 creating /var/tmp/portage/dev-python/pmw-2.0.1/image/_python3.3/usr/lib64/python3.3/site-packages creating /var/tmp/portage/dev-python/pmw-2.0.1/image/_python3.3/usr/lib64/python3.3/site-packages/Pmw creating /var/tmp/portage/dev-python/pmw-2.0.1/image/_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1 creating /var/tmp/portage/dev-python/pmw-2.0.1/image/_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/bin copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/bin/bundlepmw.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/bin creating /var/tmp/portage/dev-python/pmw-2.0.1/image/_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/AboutDialog_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/All.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/Blt_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/ButtonBox_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/Colors_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/ComboBox_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/CounterDialog_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/Counter_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/Dialog_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/earthris.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/EntryField_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/flagup.bmp -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/LabeledWidget_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/ManualTests.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/MegaWidget_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/MessageDialog_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/NoteBook_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/OptionMenu_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/Options_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/PanedWidget_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/PmwBase_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/PromptDialog_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/RadioSelect_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/ScrolledCanvas_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/ScrolledField_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/ScrolledFrame_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/ScrolledListBox_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/ScrolledText_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/SelectionDialog_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/Test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/TestVersion.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/TextDialog_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/tests/Tkinter_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests creating /var/tmp/portage/dev-python/pmw-2.0.1/image/_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/AboutDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/All.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/Args.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/Balloon.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/BltGraph.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/BltTabset.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/ButtonBox.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/Colors.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/ComboBox.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/ComboBoxDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/ConfigClass.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/Counter.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/CounterDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/DemoVersion.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/Dialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/EntryField.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/ErrorHandling.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/ExampleDemo.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/Grid.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/Group.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/HistoryText.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/LabeledWidget.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/LogicalFont.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/MainMenuBar.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/MenuBar.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/MessageBar.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/MessageDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/MessageInfo.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/MultiLineLabel.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/NestedDialogs.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/NoteBook.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/NoteBook_2.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/NoteBook_3.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/OptionMenu.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/PanedWidget.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/PanedWidget_2.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/PromptDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/RadioSelect.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/Resources.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/Resources_Pmw.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/ScrolledCanvas.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/ScrolledField.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/ScrolledFrame.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/ScrolledListBox.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/ScrolledText.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/ScrolledText_2.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/SelectionDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/ShowBusy.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/SpecialCounter.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/SpecialEntry.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/Spectrum.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/SpeedTest.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/SubClassing.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/TextDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/TextDisplay.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/TimeCounter.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/demos/WidgetDestroy.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos creating /var/tmp/portage/dev-python/pmw-2.0.1/image/_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/contrib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/contrib/DirBrowser.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/contrib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/contrib/MCListbox.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/contrib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/contrib/PmwFileDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/contrib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/contrib/PmwFullTimeCounter.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/contrib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/contrib/PmwVerticalGauge.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/contrib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/contrib/README -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/contrib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/contrib/TreeBrowser.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/contrib creating /var/tmp/portage/dev-python/pmw-2.0.1/image/_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/AboutDialog.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/AboutDialog.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/Balloon.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/Balloon.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/Blt.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/blueball.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/blue_line.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/bugs.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/ButtonBox.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/ButtonBox.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/changes.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/Color.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/ComboBox.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/ComboBox.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/ComboBoxDialog.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/ComboBoxDialog.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/copyright.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/Counter.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/Counter.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/counter1.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/counter2.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/CounterDialog.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/CounterDialog.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/demosandtests.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/Dialog.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/Dialog.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/dynamicloader.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/EntryField.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/EntryField.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/example.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/example1.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/example2.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/ExampleDemo.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/exercises.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/features.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/Group.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/Group.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/halfblueball.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/HistoryText.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/HistoryText.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/howtobuild.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/howtouse.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/index.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/LabeledWidget.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/LabeledWidget.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/MainMenuBar.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/MainMenuBar.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/MegaArchetype.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/MegaToplevel.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/MegaWidget.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/MenuBar.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/MenuBar.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/MessageBar.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/MessageBar.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/MessageDialog.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/MessageDialog.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/NoteBook.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/NoteBook.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/OptionMenu.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/OptionMenu.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/PanedWidget.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/PanedWidget.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/PmwFunctions.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/porting.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/PromptDialog.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/PromptDialog.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/RadioSelect.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/RadioSelect.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/refindex.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/scale1.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/scale2.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/ScrolledCanvas.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/ScrolledCanvas.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/ScrolledField.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/ScrolledField.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/ScrolledFrame.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/ScrolledFrame.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/ScrolledListBox.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/ScrolledListBox.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/ScrolledText.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/ScrolledText.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/ScrolledText_test.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/SelectionDialog.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/SelectionDialog.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/starting.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/TextDialog.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/TextDialog.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/TimeCounter.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/TimeCounter.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/todo.html -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/doc/transdove.gif -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc creating /var/tmp/portage/dev-python/pmw-2.0.1/image/_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/Pmw.def -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwAboutDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwBalloon.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwBase.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwBlt.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwButtonBox.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwColor.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwComboBox.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwComboBoxDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwCounter.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwCounterDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwEntryField.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwGroup.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwHistoryText.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwLabeledWidget.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwLoader.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwLogicalFont.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwMainMenuBar.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwMenuBar.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwMessageBar.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwMessageDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwNoteBook.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwOptionMenu.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwPanedWidget.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwPromptDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwRadioSelect.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwScrolledCanvas.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwScrolledField.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwScrolledFrame.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwScrolledListBox.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwScrolledText.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwSelectionDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwTextDialog.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwTimeCounter.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/PmwTimeFuncs.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/lib/__init__.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/Pmw_2_0_1/__init__.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1 copying /var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3/build/lib/Pmw/__init__.py -> /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/bin/bundlepmw.py to bundlepmw.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/AboutDialog_test.py to AboutDialog_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/All.py to All.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/Blt_test.py to Blt_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/ButtonBox_test.py to ButtonBox_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/Colors_test.py to Colors_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/ComboBox_test.py to ComboBox_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/CounterDialog_test.py to CounterDialog_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/Counter_test.py to Counter_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/Dialog_test.py to Dialog_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/EntryField_test.py to EntryField_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/LabeledWidget_test.py to LabeledWidget_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/ManualTests.py to ManualTests.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/MegaWidget_test.py to MegaWidget_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/MessageDialog_test.py to MessageDialog_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/NoteBook_test.py to NoteBook_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/OptionMenu_test.py to OptionMenu_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/Options_test.py to Options_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/PanedWidget_test.py to PanedWidget_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/PmwBase_test.py to PmwBase_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/PromptDialog_test.py to PromptDialog_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/RadioSelect_test.py to RadioSelect_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/ScrolledCanvas_test.py to ScrolledCanvas_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/ScrolledField_test.py to ScrolledField_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/ScrolledFrame_test.py to ScrolledFrame_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/ScrolledListBox_test.py to ScrolledListBox_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/ScrolledText_test.py to ScrolledText_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/SelectionDialog_test.py to SelectionDialog_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/Test.py to Test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/TestVersion.py to TestVersion.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/TextDialog_test.py to TextDialog_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/tests/Tkinter_test.py to Tkinter_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/AboutDialog.py to AboutDialog.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/All.py to All.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/Args.py to Args.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/Balloon.py to Balloon.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/BltGraph.py to BltGraph.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/BltTabset.py to BltTabset.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/ButtonBox.py to ButtonBox.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/Colors.py to Colors.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/ComboBox.py to ComboBox.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/ComboBoxDialog.py to ComboBoxDialog.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/ConfigClass.py to ConfigClass.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/Counter.py to Counter.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/CounterDialog.py to CounterDialog.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/DemoVersion.py to DemoVersion.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/Dialog.py to Dialog.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/EntryField.py to EntryField.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/ErrorHandling.py to ErrorHandling.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/ExampleDemo.py to ExampleDemo.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/Grid.py to Grid.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/Group.py to Group.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/HistoryText.py to HistoryText.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/LabeledWidget.py to LabeledWidget.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/LogicalFont.py to LogicalFont.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/MainMenuBar.py to MainMenuBar.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/MenuBar.py to MenuBar.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/MessageBar.py to MessageBar.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/MessageDialog.py to MessageDialog.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/MessageInfo.py to MessageInfo.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/MultiLineLabel.py to MultiLineLabel.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/NestedDialogs.py to NestedDialogs.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/NoteBook.py to NoteBook.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/NoteBook_2.py to NoteBook_2.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/NoteBook_3.py to NoteBook_3.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/OptionMenu.py to OptionMenu.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/PanedWidget.py to PanedWidget.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/PanedWidget_2.py to PanedWidget_2.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/PromptDialog.py to PromptDialog.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/RadioSelect.py to RadioSelect.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/Resources.py to Resources.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/Resources_Pmw.py to Resources_Pmw.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/ScrolledCanvas.py to ScrolledCanvas.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/ScrolledField.py to ScrolledField.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/ScrolledFrame.py to ScrolledFrame.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/ScrolledListBox.py to ScrolledListBox.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/ScrolledText.py to ScrolledText.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/ScrolledText_2.py to ScrolledText_2.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/SelectionDialog.py to SelectionDialog.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/ShowBusy.py to ShowBusy.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/SpecialCounter.py to SpecialCounter.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/SpecialEntry.py to SpecialEntry.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/Spectrum.py to Spectrum.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/SpeedTest.py to SpeedTest.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/SubClassing.py to SubClassing.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/TextDialog.py to TextDialog.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/TextDisplay.py to TextDisplay.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/TimeCounter.py to TimeCounter.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/demos/WidgetDestroy.py to WidgetDestroy.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/contrib/DirBrowser.py to DirBrowser.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/contrib/MCListbox.py to MCListbox.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/contrib/PmwFileDialog.py to PmwFileDialog.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/contrib/PmwFullTimeCounter.py to PmwFullTimeCounter.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/contrib/PmwVerticalGauge.py to PmwVerticalGauge.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/contrib/TreeBrowser.py to TreeBrowser.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc/example.py to example.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc/ExampleDemo.py to ExampleDemo.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc/exercises.py to exercises.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/doc/ScrolledText_test.py to ScrolledText_test.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwAboutDialog.py to PmwAboutDialog.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwBalloon.py to PmwBalloon.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwBase.py to PmwBase.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwBlt.py to PmwBlt.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwButtonBox.py to PmwButtonBox.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwColor.py to PmwColor.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwComboBox.py to PmwComboBox.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwComboBoxDialog.py to PmwComboBoxDialog.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwCounter.py to PmwCounter.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwCounterDialog.py to PmwCounterDialog.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwDialog.py to PmwDialog.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwEntryField.py to PmwEntryField.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwGroup.py to PmwGroup.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwHistoryText.py to PmwHistoryText.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwLabeledWidget.py to PmwLabeledWidget.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwLoader.py to PmwLoader.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwLogicalFont.py to PmwLogicalFont.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwMainMenuBar.py to PmwMainMenuBar.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwMenuBar.py to PmwMenuBar.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwMessageBar.py to PmwMessageBar.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwMessageDialog.py to PmwMessageDialog.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwNoteBook.py to PmwNoteBook.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwOptionMenu.py to PmwOptionMenu.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwPanedWidget.py to PmwPanedWidget.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwPromptDialog.py to PmwPromptDialog.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwRadioSelect.py to PmwRadioSelect.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwScrolledCanvas.py to PmwScrolledCanvas.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwScrolledField.py to PmwScrolledField.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwScrolledFrame.py to PmwScrolledFrame.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwScrolledListBox.py to PmwScrolledListBox.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwScrolledText.py to PmwScrolledText.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwSelectionDialog.py to PmwSelectionDialog.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwTextDialog.py to PmwTextDialog.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwTimeCounter.py to PmwTimeCounter.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/PmwTimeFuncs.py to PmwTimeFuncs.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/lib/__init__.py to __init__.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/Pmw_2_0_1/__init__.py to __init__.cpython-33.pyc byte-compiling /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw/__init__.py to __init__.cpython-33.pyc writing byte-compilation script '/var/tmp/portage/dev-python/pmw-2.0.1/temp/tmp4eic4b.py' /usr/bin/python3.3 -OO /var/tmp/portage/dev-python/pmw-2.0.1/temp/tmp4eic4b.py removing /var/tmp/portage/dev-python/pmw-2.0.1/temp/tmp4eic4b.py running install_egg_info Writing /var/tmp/portage/dev-python/pmw-2.0.1/image//_python3.3/usr/lib64/python3.3/site-packages/Pmw-2.0.1-py3.3.egg-info * python3_3: running distutils-r1_run_phase python_install_all install: cannot stat ‘Pmw/README’: No such file or directory !!! dodoc: Pmw/README does not exist * ERROR: dev-python/pmw-2.0.1::gentoo failed (install phase): * dodoc failed * * If you need support, post the output of `emerge --info '=dev-python/pmw-2.0.1::gentoo'`, * the complete build log and the output of `emerge -pqv '=dev-python/pmw-2.0.1::gentoo'`. * The complete build log is located at '/var/log/portage/dev-python:pmw-2.0.1:20150527-081131.log'. * For convenience, a symlink to the build log is located at '/var/tmp/portage/dev-python/pmw-2.0.1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-python/pmw-2.0.1/temp/environment'. * Working directory: '/var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1-python3_3' * S: '/var/tmp/portage/dev-python/pmw-2.0.1/work/Pmw-2.0.1' * QA Notice: file does not exist: * * dodoc: Pmw/README does not exist