diff options
Diffstat (limited to 'Demo/rpc/rpc.py')
-rw-r--r-- | Demo/rpc/rpc.py | 92 |
1 files changed, 44 insertions, 48 deletions
diff --git a/Demo/rpc/rpc.py b/Demo/rpc/rpc.py index f7231c1..99115d3 100644 --- a/Demo/rpc/rpc.py +++ b/Demo/rpc/rpc.py @@ -95,10 +95,10 @@ class Unpacker(xdr.Unpacker): xid = self.unpack_uint() temp = self.unpack_enum() if temp != CALL: - raise BadRPCFormat, 'no CALL but %r' % (temp,) + raise BadRPCFormat('no CALL but %r' % (temp,)) temp = self.unpack_uint() if temp != RPCVERSION: - raise BadRPCVersion, 'bad RPC version %r' % (temp,) + raise BadRPCVersion('bad RPC version %r' % (temp,)) prog = self.unpack_uint() vers = self.unpack_uint() proc = self.unpack_uint() @@ -111,38 +111,34 @@ class Unpacker(xdr.Unpacker): xid = self.unpack_uint() mtype = self.unpack_enum() if mtype != REPLY: - raise RuntimeError, 'no REPLY but %r' % (mtype,) + raise RuntimeError('no REPLY but %r' % (mtype,)) stat = self.unpack_enum() if stat == MSG_DENIED: stat = self.unpack_enum() if stat == RPC_MISMATCH: low = self.unpack_uint() high = self.unpack_uint() - raise RuntimeError, \ - 'MSG_DENIED: RPC_MISMATCH: %r' % ((low, high),) + raise RuntimeError('MSG_DENIED: RPC_MISMATCH: %r' % ((low, high),)) if stat == AUTH_ERROR: stat = self.unpack_uint() - raise RuntimeError, \ - 'MSG_DENIED: AUTH_ERROR: %r' % (stat,) - raise RuntimeError, 'MSG_DENIED: %r' % (stat,) + raise RuntimeError('MSG_DENIED: AUTH_ERROR: %r' % (stat,)) + raise RuntimeError('MSG_DENIED: %r' % (stat,)) if stat != MSG_ACCEPTED: - raise RuntimeError, \ - 'Neither MSG_DENIED nor MSG_ACCEPTED: %r' % (stat,) + raise RuntimeError('Neither MSG_DENIED nor MSG_ACCEPTED: %r' % (stat,)) verf = self.unpack_auth() stat = self.unpack_enum() if stat == PROG_UNAVAIL: - raise RuntimeError, 'call failed: PROG_UNAVAIL' + raise RuntimeError('call failed: PROG_UNAVAIL') if stat == PROG_MISMATCH: low = self.unpack_uint() high = self.unpack_uint() - raise RuntimeError, \ - 'call failed: PROG_MISMATCH: %r' % ((low, high),) + raise RuntimeError('call failed: PROG_MISMATCH: %r' % ((low, high),)) if stat == PROC_UNAVAIL: - raise RuntimeError, 'call failed: PROC_UNAVAIL' + raise RuntimeError('call failed: PROC_UNAVAIL') if stat == GARBAGE_ARGS: - raise RuntimeError, 'call failed: GARBAGE_ARGS' + raise RuntimeError('call failed: GARBAGE_ARGS') if stat != SUCCESS: - raise RuntimeError, 'call failed: %r' % (stat,) + raise RuntimeError('call failed: %r' % (stat,)) return xid, verf # Caller must get procedure-specific part of reply @@ -193,7 +189,7 @@ def unix_epoch(): offset, hh = divmod(hh + offset, 24) d = d + offset _unix_epoch = time.mktime((y, m, d, hh, mm, ss, 0, 0, 0)) - print "Unix epoch:", time.ctime(_unix_epoch) + print("Unix epoch:", time.ctime(_unix_epoch)) return _unix_epoch @@ -219,7 +215,7 @@ class Client: def makesocket(self): # This MUST be overridden - raise RuntimeError, 'makesocket not defined' + raise RuntimeError('makesocket not defined') def connsocket(self): # Override this if you don't want/need a connection @@ -237,7 +233,7 @@ class Client: def make_call(self, proc, args, pack_func, unpack_func): # Don't normally override this (but see Broadcast) if pack_func is None and args is not None: - raise TypeError, 'non-null args with null pack_func' + raise TypeError('non-null args with null pack_func') self.start_call(proc) if pack_func: pack_func(args) @@ -260,7 +256,7 @@ class Client: def do_call(self): # This MUST be overridden - raise RuntimeError, 'do_call not defined' + raise RuntimeError('do_call not defined') def mkcred(self): # Override this to use more powerful credentials @@ -282,7 +278,7 @@ class Client: def sendfrag(sock, last, frag): x = len(frag) - if last: x = x | 0x80000000L + if last: x = x | 0x80000000 header = (chr(int(x>>24 & 0xff)) + chr(int(x>>16 & 0xff)) + \ chr(int(x>>8 & 0xff)) + chr(int(x & 0xff))) sock.send(header + frag) @@ -294,7 +290,7 @@ def recvfrag(sock): header = sock.recv(4) if len(header) < 4: raise EOFError - x = long(ord(header[0]))<<24 | ord(header[1])<<16 | \ + x = int(ord(header[0]))<<24 | ord(header[1])<<16 | \ ord(header[2])<<8 | ord(header[3]) last = ((x & 0x80000000) != 0) n = int(x & 0x7fffffff) @@ -333,8 +329,8 @@ def bindresvport(sock, host): except socket.error as e: (errno, msg) = e if errno != 114: - raise socket.error, (errno, msg) - raise RuntimeError, 'can\'t assign reserved port' + raise socket.error(errno, msg) + raise RuntimeError('can\'t assign reserved port') # Client using TCP to a specific port @@ -353,8 +349,8 @@ class RawTCPClient(Client): xid, verf = u.unpack_replyheader() if xid != self.lastxid: # Can't really happen since this is TCP... - raise RuntimeError, 'wrong xid in reply %r instead of %r' % ( - xid, self.lastxid) + raise RuntimeError('wrong xid in reply %r instead of %r' % ( + xid, self.lastxid)) # Client using UDP to a specific port @@ -370,7 +366,7 @@ class RawUDPClient(Client): try: from select import select except ImportError: - print 'WARNING: select not found, RPC may hang' + print('WARNING: select not found, RPC may hang') select = None BUFSIZE = 8192 # Max UDP buffer size timeout = 1 @@ -381,7 +377,7 @@ class RawUDPClient(Client): r, w, x = select(r, w, x, timeout) if self.sock not in r: count = count - 1 - if count < 0: raise RuntimeError, 'timeout' + if count < 0: raise RuntimeError('timeout') if timeout < 25: timeout = timeout *2 ## print 'RESEND', timeout, count self.sock.send(call) @@ -417,7 +413,7 @@ class RawBroadcastUDPClient(RawUDPClient): def make_call(self, proc, args, pack_func, unpack_func): if pack_func is None and args is not None: - raise TypeError, 'non-null args with null pack_func' + raise TypeError('non-null args with null pack_func') self.start_call(proc) if pack_func: pack_func(args) @@ -426,7 +422,7 @@ class RawBroadcastUDPClient(RawUDPClient): try: from select import select except ImportError: - print 'WARNING: select not found, broadcast will hang' + print('WARNING: select not found, broadcast will hang') select = None BUFSIZE = 8192 # Max UDP buffer size (for reply) replies = [] @@ -585,7 +581,7 @@ class TCPClient(RawTCPClient): port = pmap.Getport((prog, vers, IPPROTO_TCP, 0)) pmap.close() if port == 0: - raise RuntimeError, 'program not registered' + raise RuntimeError('program not registered') RawTCPClient.__init__(self, host, prog, vers, port) @@ -596,7 +592,7 @@ class UDPClient(RawUDPClient): port = pmap.Getport((prog, vers, IPPROTO_UDP, 0)) pmap.close() if port == 0: - raise RuntimeError, 'program not registered' + raise RuntimeError('program not registered') RawUDPClient.__init__(self, host, prog, vers, port) @@ -665,13 +661,13 @@ class Server: mapping = self.prog, self.vers, self.prot, self.port p = TCPPortMapperClient(self.host) if not p.Set(mapping): - raise RuntimeError, 'register failed' + raise RuntimeError('register failed') def unregister(self): mapping = self.prog, self.vers, self.prot, self.port p = TCPPortMapperClient(self.host) if not p.Unset(mapping): - raise RuntimeError, 'unregister failed' + raise RuntimeError('unregister failed') def handle(self, call): # Don't use unpack_header but parse the header piecewise @@ -736,7 +732,7 @@ class Server: def makesocket(self): # This MUST be overridden - raise RuntimeError, 'makesocket not defined' + raise RuntimeError('makesocket not defined') def bindsocket(self): # Override this to bind to a different port (e.g. reserved) @@ -767,7 +763,7 @@ class TCPServer(Server): except EOFError: break except socket.error as msg: - print 'socket error:', msg + print('socket error:', msg) break reply = self.handle(call) if reply is not None: @@ -826,11 +822,11 @@ def test(): list = pmap.Dump() list.sort() for prog, vers, prot, port in list: - print prog, vers, - if prot == IPPROTO_TCP: print 'tcp', - elif prot == IPPROTO_UDP: print 'udp', - else: print prot, - print port + print(prog, vers, end=' ') + if prot == IPPROTO_TCP: print('tcp', end=' ') + elif prot == IPPROTO_UDP: print('udp', end=' ') + else: print(prot, end=' ') + print(port) # Test program for broadcast operation -- dump everybody's portmapper status @@ -843,7 +839,7 @@ def testbcast(): bcastaddr = '<broadcast>' def rh(reply, fromaddr): host, port = fromaddr - print host + '\t' + repr(reply) + print(host + '\t' + repr(reply)) pmap = BroadcastUDPPortMapperClient(bcastaddr) pmap.set_reply_handler(rh) pmap.set_timeout(5) @@ -861,21 +857,21 @@ def testsvr(): def handle_1(self): arg = self.unpacker.unpack_string() self.turn_around() - print 'RPC function 1 called, arg', repr(arg) + print('RPC function 1 called, arg', repr(arg)) self.packer.pack_string(arg + arg) # s = S('', 0x20000000, 1, 0) try: s.unregister() except RuntimeError as msg: - print 'RuntimeError:', msg, '(ignored)' + print('RuntimeError:', msg, '(ignored)') s.register() - print 'Service started...' + print('Service started...') try: s.loop() finally: s.unregister() - print 'Service interrupted.' + print('Service interrupted.') def testclt(): @@ -889,6 +885,6 @@ def testclt(): self.packer.pack_string, \ self.unpacker.unpack_string) c = C(host, 0x20000000, 1) - print 'making call...' + print('making call...') reply = c.call_1('hello, world, ') - print 'call returned', repr(reply) + print('call returned', repr(reply)) |