The remote procedure call module rpc.py can now access data attributes of

remote registered objects.  Changes to these attributes are local, however.

M EditorWindow.py
M NEWS.txt
M PyShell.py
M idlever.py
M rpc.py
M run.py
This commit is contained in:
Kurt B. Kaiser 2004-12-21 22:10:32 +00:00
parent f654c1c383
commit dcba6622f5
6 changed files with 23 additions and 11 deletions

View File

@ -37,7 +37,7 @@ def _find_module(fullname, path=None):
raise ImportError, 'No source for module ' + module.__name__
return file, filename, descr
class EditorWindow:
class EditorWindow(object):
from Percolator import Percolator
from ColorDelegator import ColorDelegator
from UndoDelegator import UndoDelegator
@ -1297,7 +1297,7 @@ import tokenize
_tokenize = tokenize
del tokenize
class IndentSearcher:
class IndentSearcher(object):
# .run() chews over the Text widget, looking for a block opener
# and the stmt following it. Returns a pair,

View File

@ -1,3 +1,11 @@
What's New in IDLE 1.2a0?
=======================
*Release date: XX-XXX-2005*
- The remote procedure call module rpc.py can now access data attributes of
remote registered objects. Changes to these attributes are local, however.
What's New in IDLE 1.1?
=======================

View File

@ -1186,7 +1186,7 @@ class PyShell(OutputWindow):
if not use_subprocess:
raise KeyboardInterrupt
class PseudoFile:
class PseudoFile(object):
def __init__(self, shell, tags, encoding=None):
self.shell = shell

View File

@ -1 +1 @@
IDLE_VERSION = "1.1"
IDLE_VERSION = "1.2a0"

View File

@ -121,7 +121,7 @@ request_queue = Queue.Queue(0)
response_queue = Queue.Queue(0)
class SocketIO:
class SocketIO(object):
nextseq = 0
@ -475,7 +475,7 @@ class SocketIO:
#----------------- end class SocketIO --------------------
class RemoteObject:
class RemoteObject(object):
# Token mix-in class
pass
@ -484,7 +484,7 @@ def remoteref(obj):
objecttable[oid] = obj
return RemoteProxy(oid)
class RemoteProxy:
class RemoteProxy(object):
def __init__(self, oid):
self.oid = oid
@ -533,7 +533,7 @@ class RPCClient(SocketIO):
def get_remote_proxy(self, oid):
return RPCProxy(self, oid)
class RPCProxy:
class RPCProxy(object):
__methods = None
__attributes = None
@ -549,7 +549,11 @@ class RPCProxy:
return MethodProxy(self.sockio, self.oid, name)
if self.__attributes is None:
self.__getattributes()
if not self.__attributes.has_key(name):
if self.__attributes.has_key(name):
value = self.sockio.remotecall(self.oid, '__getattribute__',
(name,), {})
return value
else:
raise AttributeError, name
def __getattributes(self):
@ -579,7 +583,7 @@ def _getattributes(obj, attributes):
if not callable(attr):
attributes[name] = 1
class MethodProxy:
class MethodProxy(object):
def __init__(self, sockio, oid, name):
self.sockio = sockio

View File

@ -270,7 +270,7 @@ class MyHandler(rpc.RPCHandler):
thread.interrupt_main()
class Executive:
class Executive(object):
def __init__(self, rpchandler):
self.rpchandler = rpchandler