diff options
Diffstat (limited to 'Demo')
-rwxr-xr-x | Demo/classes/Dates.py | 15 | ||||
-rwxr-xr-x | Demo/classes/bitvec.py | 3 | ||||
-rwxr-xr-x | Demo/md5test/md5driver.py | 4 | ||||
-rwxr-xr-x | Demo/pdist/cmptree.py | 2 | ||||
-rw-r--r-- | Demo/rpc/nfsclient.py | 3 | ||||
-rw-r--r-- | Demo/rpc/rpc.py | 6 | ||||
-rw-r--r-- | Demo/rpc/xdr.py | 4 | ||||
-rwxr-xr-x | Demo/scripts/fact.py | 8 | ||||
-rwxr-xr-x | Demo/scripts/ftpstats.py | 4 | ||||
-rwxr-xr-x | Demo/scripts/lpwatch.py | 4 | ||||
-rwxr-xr-x | Demo/scripts/markov.py | 2 | ||||
-rwxr-xr-x | Demo/scripts/newslist.py | 2 | ||||
-rwxr-xr-x | Demo/scripts/pi.py | 4 | ||||
-rwxr-xr-x | Demo/scripts/unbirthday.py | 6 | ||||
-rwxr-xr-x | Demo/sockets/ftp.py | 2 | ||||
-rw-r--r-- | Demo/threads/Coroutine.py | 4 | ||||
-rw-r--r-- | Demo/threads/Generator.py | 14 | ||||
-rwxr-xr-x | Demo/tkinter/guido/hanoi.py | 20 | ||||
-rwxr-xr-x | Demo/tkinter/guido/solitaire.py | 4 | ||||
-rw-r--r-- | Demo/tkinter/guido/sortvisu.py | 10 |
20 files changed, 67 insertions, 54 deletions
diff --git a/Demo/classes/Dates.py b/Demo/classes/Dates.py index afb0ff2..e1b054f 100755 --- a/Demo/classes/Dates.py +++ b/Demo/classes/Dates.py @@ -68,7 +68,7 @@ def _days_in_year(year): # number of days in year return 365 + _is_leap(year) def _days_before_year(year): # number of days before year - return year*365 + (year+3)/4 - (year+99)/100 + (year+399)/400 + return year*365 + (year+3)//4 - (year+99)//100 + (year+399)//400 def _days_in_month(month, year): # number of days in month of year if month == 2 and _is_leap(year): return 29 @@ -92,9 +92,9 @@ def _num2date(n): # return date with ordinal n del ans.ord, ans.month, ans.day, ans.year # un-initialize it ans.ord = n - n400 = (n-1)/_DI400Y # # of 400-year blocks preceding + n400 = (n-1)//_DI400Y # # of 400-year blocks preceding year, n = 400 * n400, n - _DI400Y * n400 - more = n / 365 + more = n // 365 dby = _days_before_year(more) if dby >= n: more = more - 1 @@ -104,7 +104,7 @@ def _num2date(n): # return date with ordinal n try: year = int(year) # chop to int, if it fits except (ValueError, OverflowError): pass - month = min(n/29 + 1, 12) + month = min(n//29 + 1, 12) dbm = _days_before_month(month, year) if dbm >= n: month = month - 1 @@ -174,7 +174,9 @@ def today(): local = time.localtime(time.time()) return Date(local[1], local[2], local[0]) -DateTestError = 'DateTestError' +class DateTestError(Exception): + pass + def test(firstyear, lastyear): a = Date(9,30,1913) b = Date(9,30,1914) @@ -220,3 +222,6 @@ def test(firstyear, lastyear): (fd.month,fd.day,fd.year,ld.month,ld.day,ld.year): raise DateTestError('num->date failed', y) y = y + 1 + +if __name__ == '__main__': + test(1850, 2150) diff --git a/Demo/classes/bitvec.py b/Demo/classes/bitvec.py index ae84439..9ee3ebf 100755 --- a/Demo/classes/bitvec.py +++ b/Demo/classes/bitvec.py @@ -6,7 +6,8 @@ import sys; rprt = sys.stderr.write #for debugging -error = 'bitvec.error' +class error(Exception): + pass def _check_value(value): diff --git a/Demo/md5test/md5driver.py b/Demo/md5test/md5driver.py index 242d0a5..ea30fd8 100755 --- a/Demo/md5test/md5driver.py +++ b/Demo/md5test/md5driver.py @@ -32,7 +32,7 @@ def MDTimeTrial(): filsiz = 1 << 8 filler = makestr(0, filsiz-1) - data = filler * (TEST_BLOCK_SIZE / filsiz); + data = filler * (TEST_BLOCK_SIZE // filsiz) data = data + filler[:(TEST_BLOCK_SIZE % filsiz)] del filsiz, filler @@ -62,7 +62,7 @@ def MDString(str): def MDFile(filename): - f = open(filename, 'rb'); + f = open(filename, 'rb') mdContext = md5.new() while 1: diff --git a/Demo/pdist/cmptree.py b/Demo/pdist/cmptree.py index f804d31..c1bbf1a 100755 --- a/Demo/pdist/cmptree.py +++ b/Demo/pdist/cmptree.py @@ -202,7 +202,7 @@ def recvfile_real(local, remote, name): dt = t2-t1 print(size, "bytes in", round(dt), "seconds", end=' ') if dt: - print("i.e.", int(size/dt), "bytes/sec", end=' ') + print("i.e.", int(size//dt), "bytes/sec", end=' ') print() remote._recv(id) # ignored diff --git a/Demo/rpc/nfsclient.py b/Demo/rpc/nfsclient.py index c36e3d2..a291ce0 100644 --- a/Demo/rpc/nfsclient.py +++ b/Demo/rpc/nfsclient.py @@ -194,7 +194,8 @@ def test(): fh = sf[1] if fh: ncl = NFSClient(host) - print(ncl.Getattr(fh)) + attrstat = ncl.Getattr(fh) + print(attrstat) list = ncl.Listdir(fh) for item in list: print(item) mcl.Umnt(filesys) diff --git a/Demo/rpc/rpc.py b/Demo/rpc/rpc.py index 789880b..30b3017 100644 --- a/Demo/rpc/rpc.py +++ b/Demo/rpc/rpc.py @@ -80,9 +80,9 @@ class Packer(xdr.Packer): # Exceptions -BadRPCFormat = 'rpc.BadRPCFormat' -BadRPCVersion = 'rpc.BadRPCVersion' -GarbageArgs = 'rpc.GarbageArgs' +class BadRPCFormat(Exception): pass +class BadRPCVersion(Exception): pass +class GarbageArgs(Exception): pass class Unpacker(xdr.Unpacker): diff --git a/Demo/rpc/xdr.py b/Demo/rpc/xdr.py index fd9efee..2d5f9c3 100644 --- a/Demo/rpc/xdr.py +++ b/Demo/rpc/xdr.py @@ -57,7 +57,7 @@ class Packer: def pack_fstring(self, n, s): if n < 0: raise ValueError('fstring size must be nonnegative') - n = ((n+3)/4)*4 + n = ((n + 3)//4)*4 data = s[:n] data = data + (n - len(data)) * '\0' self.buf = self.buf + data @@ -164,7 +164,7 @@ class Unpacker: if n < 0: raise ValueError('fstring size must be nonnegative') i = self.pos - j = i + (n+3)/4*4 + j = i + (n+3)//4*4 if j > len(self.buf): raise EOFError self.pos = j diff --git a/Demo/scripts/fact.py b/Demo/scripts/fact.py index 19d28eb..c76474c 100755 --- a/Demo/scripts/fact.py +++ b/Demo/scripts/fact.py @@ -8,23 +8,21 @@ import sys from math import sqrt -error = 'fact.error' # exception - def fact(n): - if n < 1: raise error # fact() argument should be >= 1 + if n < 1: raise ValueError # fact() argument should be >= 1 if n == 1: return [] # special case res = [] # Treat even factors special, so we can use i = i+2 later while n%2 == 0: res.append(2) - n = n/2 + n = n//2 # Try odd numbers up to sqrt(n) limit = sqrt(float(n+1)) i = 3 while i <= limit: if n%i == 0: res.append(i) - n = n/i + n = n//i limit = sqrt(n+1) else: i = i+2 diff --git a/Demo/scripts/ftpstats.py b/Demo/scripts/ftpstats.py index 19ad392..cb0c242 100755 --- a/Demo/scripts/ftpstats.py +++ b/Demo/scripts/ftpstats.py @@ -104,7 +104,7 @@ def main(): def showbar(dict, title): n = len(title) - print('='*((70-n)/2), title, '='*((71-n)/2)) + print('='*((70-n)//2), title, '='*((71-n)//2)) list = [] for key in sorted(dict.keys()): n = len(str(key)) @@ -124,7 +124,7 @@ def show(dict, title, maxitems): if len(dict) > maxitems: title = title + ' (first %d)'%maxitems n = len(title) - print('='*((70-n)/2), title, '='*((71-n)/2)) + print('='*((70-n)//2), title, '='*((71-n)//2)) list = [] for key in dict.keys(): list.append((-len(dict[key]), key)) diff --git a/Demo/scripts/lpwatch.py b/Demo/scripts/lpwatch.py index 567385c..262e562 100755 --- a/Demo/scripts/lpwatch.py +++ b/Demo/scripts/lpwatch.py @@ -83,7 +83,7 @@ def makestatus(name, thisuser): lines.append(line) # if totaljobs: - line = '%d K' % ((totalbytes+1023)/1024) + line = '%d K' % ((totalbytes+1023)//1024) if totaljobs != len(users): line = line + ' (%d jobs)' % totaljobs if len(users) == 1: @@ -95,7 +95,7 @@ def makestatus(name, thisuser): line = line + ' (%s first)' % thisuser else: line = line + ' (%d K before %s)' % ( - (aheadbytes+1023)/1024, thisuser) + (aheadbytes+1023)//1024, thisuser) lines.append(line) # sts = pipe.close() diff --git a/Demo/scripts/markov.py b/Demo/scripts/markov.py index 3dc57ce..6f3482b 100755 --- a/Demo/scripts/markov.py +++ b/Demo/scripts/markov.py @@ -110,7 +110,7 @@ def test(): def tuple(list): if len(list) == 0: return () if len(list) == 1: return (list[0],) - i = len(list)/2 + i = len(list)//2 return tuple(list[:i]) + tuple(list[i:]) if __name__ == "__main__": diff --git a/Demo/scripts/newslist.py b/Demo/scripts/newslist.py index 3d65a08..02b4b7c 100755 --- a/Demo/scripts/newslist.py +++ b/Demo/scripts/newslist.py @@ -320,7 +320,7 @@ def main(): tree={} # Check that the output directory exists - checkopdir(pagedir); + checkopdir(pagedir) try: print('Connecting to '+newshost+'...') diff --git a/Demo/scripts/pi.py b/Demo/scripts/pi.py index a360e40..19733cb 100755 --- a/Demo/scripts/pi.py +++ b/Demo/scripts/pi.py @@ -17,11 +17,11 @@ def main(): p, q, k = k*k, 2*k+1, k+1 a, b, a1, b1 = a1, b1, p*a+q*a1, p*b+q*b1 # Print common digits - d, d1 = a/b, a1/b1 + d, d1 = a//b, a1//b1 while d == d1: output(d) a, a1 = 10*(a%b), 10*(a1%b1) - d, d1 = a/b, a1/b1 + d, d1 = a//b, a1//b1 def output(d): # Use write() to avoid spaces between the digits diff --git a/Demo/scripts/unbirthday.py b/Demo/scripts/unbirthday.py index 5c39092..991537d 100755 --- a/Demo/scripts/unbirthday.py +++ b/Demo/scripts/unbirthday.py @@ -99,9 +99,9 @@ def mkdate(xxx_todo_changeme1): # was different then... (year, month, day) = xxx_todo_changeme1 days = year*365 # years, roughly - days = days + (year+3)/4 # plus leap years, roughly - days = days - (year+99)/100 # minus non-leap years every century - days = days + (year+399)/400 # plus leap years every 4 centirues + days = days + (year+3)//4 # plus leap years, roughly + days = days - (year+99)//100 # minus non-leap years every century + days = days + (year+399)//400 # plus leap years every 4 centirues for i in range(1, month): if i == 2 and calendar.isleap(year): days = days + 29 diff --git a/Demo/sockets/ftp.py b/Demo/sockets/ftp.py index 9f9f1dc..5ea99c7 100755 --- a/Demo/sockets/ftp.py +++ b/Demo/sockets/ftp.py @@ -91,7 +91,7 @@ def sendportcmd(s, f, port): hostname = gethostname() hostaddr = gethostbyname(hostname) hbytes = string.splitfields(hostaddr, '.') - pbytes = [repr(port/256), repr(port%256)] + pbytes = [repr(port//256), repr(port%256)] bytes = hbytes + pbytes cmd = 'PORT ' + string.joinfields(bytes, ',') s.send(cmd + '\r\n') diff --git a/Demo/threads/Coroutine.py b/Demo/threads/Coroutine.py index e7d882d..690fadc 100644 --- a/Demo/threads/Coroutine.py +++ b/Demo/threads/Coroutine.py @@ -93,8 +93,8 @@ class _CoEvent: self.e.wait() self.e.clear() -Killed = 'Coroutine.Killed' -EarlyExit = 'Coroutine.EarlyExit' +class Killed(Exception): pass +class EarlyExit(Exception): pass class Coroutine: def __init__(self): diff --git a/Demo/threads/Generator.py b/Demo/threads/Generator.py index 38c0c8a..3a2963f 100644 --- a/Demo/threads/Generator.py +++ b/Demo/threads/Generator.py @@ -1,8 +1,10 @@ # Generator implementation using threads import _thread as thread +import sys -Killed = 'Generator.Killed' +class Killed(Exception): + pass class Generator: # Constructor @@ -16,6 +18,7 @@ class Generator: self.done = 0 self.killed = 0 thread.start_new_thread(self._start, ()) + # Internal routine def _start(self): try: @@ -29,6 +32,7 @@ class Generator: if not self.killed: self.done = 1 self.getlock.release() + # Called by producer for each value; raise Killed if no more needed def put(self, value): if self.killed: @@ -38,6 +42,7 @@ class Generator: self.putlock.acquire() # Wait for next get() call if self.killed: raise Killed + # Called by producer to get next value; raise EOFError if no more def get(self): if self.killed: @@ -47,12 +52,14 @@ class Generator: if self.done: raise EOFError # Say there are no more values return self.value + # Called by consumer if no more values wanted def kill(self): if self.killed: raise TypeError('kill() called on killed generator') self.killed = 1 self.putlock.release() + # Clone constructor def clone(self): return Generator(self.func, self.args) @@ -64,11 +71,11 @@ def pi(g): p, q, k = k*k, 2*k+1, k+1 a, b, a1, b1 = a1, b1, p*a+q*a1, p*b+q*b1 # Print common digits - d, d1 = a/b, a1/b1 + d, d1 = a//b, a1//b1 while d == d1: g.put(int(d)) a, a1 = 10*(a%b), 10*(a1%b1) - d, d1 = a/b, a1/b1 + d, d1 = a//b, a1//b1 def test(): g = Generator(pi, ()) @@ -80,5 +87,6 @@ def test(): g.kill() while 1: print(h.get(), end=' ') + sys.stdout.flush() test() diff --git a/Demo/tkinter/guido/hanoi.py b/Demo/tkinter/guido/hanoi.py index 078c246..58ba1d1 100755 --- a/Demo/tkinter/guido/hanoi.py +++ b/Demo/tkinter/guido/hanoi.py @@ -35,15 +35,15 @@ class Tkhanoi: # Add background bitmap if bitmap: - self.bitmap = c.create_bitmap(width/2, height/2, + self.bitmap = c.create_bitmap(width//2, height//2, bitmap=bitmap, foreground='blue') # Generate pegs pegwidth = 10 - pegheight = height/2 - pegdist = width/3 - x1, y1 = (pegdist-pegwidth)/2, height*1/3 + pegheight = height//2 + pegdist = width//3 + x1, y1 = (pegdist-pegwidth)//2, height*1//3 x2, y2 = x1+pegwidth, y1+pegheight self.pegs = [] p = c.create_rectangle(x1, y1, x2, y2, fill='black') @@ -57,14 +57,14 @@ class Tkhanoi: self.tk.update() # Generate pieces - pieceheight = pegheight/16 - maxpiecewidth = pegdist*2/3 + pieceheight = pegheight//16 + maxpiecewidth = pegdist*2//3 minpiecewidth = 2*pegwidth self.pegstate = [[], [], []] self.pieces = {} - x1, y1 = (pegdist-maxpiecewidth)/2, y2-pieceheight-2 + x1, y1 = (pegdist-maxpiecewidth)//2, y2-pieceheight-2 x2, y2 = x1+maxpiecewidth, y1+pieceheight - dx = (maxpiecewidth-minpiecewidth) / (2*max(1, n-1)) + dx = (maxpiecewidth-minpiecewidth) // (2*max(1, n-1)) for i in range(n, 0, -1): p = c.create_rectangle(x1, y1, x2, y2, fill='red') self.pieces[i] = p @@ -101,10 +101,10 @@ class Tkhanoi: # Move it towards peg b bx1, by1, bx2, by2 = c.bbox(self.pegs[b]) - newcenter = (bx1+bx2)/2 + newcenter = (bx1+bx2)//2 while 1: x1, y1, x2, y2 = c.bbox(p) - center = (x1+x2)/2 + center = (x1+x2)//2 if center == newcenter: break if center > newcenter: c.move(p, -1, 0) else: c.move(p, 1, 0) diff --git a/Demo/tkinter/guido/solitaire.py b/Demo/tkinter/guido/solitaire.py index 68dc284..a521c66 100755 --- a/Demo/tkinter/guido/solitaire.py +++ b/Demo/tkinter/guido/solitaire.py @@ -168,7 +168,7 @@ class Card: self.group = Group(canvas) text = "%s %s" % (VALNAMES[value], suit) - self.__text = CanvasText(canvas, CARDWIDTH/2, 0, + self.__text = CanvasText(canvas, CARDWIDTH//2, 0, anchor=N, fill=self.color, text=text) self.group.addtag_withtag(self.__text) @@ -589,7 +589,7 @@ class Solitaire: def animatedmoveto(self, card, dest): for i in range(10, 0, -1): - dx, dy = (dest.x-card.x)/i, (dest.y-card.y)/i + dx, dy = (dest.x-card.x)//i, (dest.y-card.y)//i card.moveby(dx, dy) self.master.update_idletasks() diff --git a/Demo/tkinter/guido/sortvisu.py b/Demo/tkinter/guido/sortvisu.py index c538a2c..27dc9f0 100644 --- a/Demo/tkinter/guido/sortvisu.py +++ b/Demo/tkinter/guido/sortvisu.py @@ -88,7 +88,7 @@ class Array: if self.speed == "fastest": msecs = 0 elif self.speed == "fast": - msecs = msecs/10 + msecs = msecs//10 elif self.speed == "single-step": msecs = 1000000000 if not self.stop_mainloop: @@ -320,7 +320,7 @@ class ArrayItem: return outcome def position(self): - x1 = (self.index+1)*XGRID - WIDTH/2 + x1 = (self.index+1)*XGRID - WIDTH//2 x2 = x1+WIDTH y2 = (self.array.maxvalue+1)*YGRID y1 = y2 - (self.value)*YGRID @@ -349,7 +349,7 @@ def interpolate(oldpts, newpts, n): res = [tuple(oldpts)] for i in range(1, n): for k in range(len(pts)): - pts[k] = oldpts[k] + (newpts[k] - oldpts[k])*i/n + pts[k] = oldpts[k] + (newpts[k] - oldpts[k])*i//n res.append(tuple(pts)) res.append(tuple(newpts)) return res @@ -359,7 +359,7 @@ def interpolate(oldpts, newpts, n): def uniform(array): size = array.getsize() - array.setdata([(size+1)/2] * size) + array.setdata([(size+1)//2] * size) array.reset("Uniform data, size %d" % size) def distinct(array): @@ -429,7 +429,7 @@ def quicksort(array): j = j-1 continue array.message("Choosing pivot") - j, i, k = first, (first+last)/2, last-1 + j, i, k = first, (first+last)//2, last-1 if array.compare(k, i) < 0: array.swap(k, i) if array.compare(k, j) < 0: |