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
diff --git a/Lib/idlelib/EditorWindow.py b/Lib/idlelib/EditorWindow.py
index 5d63991..4015c9e 100644
--- a/Lib/idlelib/EditorWindow.py
+++ b/Lib/idlelib/EditorWindow.py
@@ -37,7 +37,7 @@
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 @@
_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,
diff --git a/Lib/idlelib/NEWS.txt b/Lib/idlelib/NEWS.txt
index 6337e7c..1e12ca9 100644
--- a/Lib/idlelib/NEWS.txt
+++ b/Lib/idlelib/NEWS.txt
@@ -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?
=======================
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
index 887d638..fae6130 100644
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -1186,7 +1186,7 @@
if not use_subprocess:
raise KeyboardInterrupt
-class PseudoFile:
+class PseudoFile(object):
def __init__(self, shell, tags, encoding=None):
self.shell = shell
diff --git a/Lib/idlelib/idlever.py b/Lib/idlelib/idlever.py
index aba89af..eef2885 100644
--- a/Lib/idlelib/idlever.py
+++ b/Lib/idlelib/idlever.py
@@ -1 +1 @@
-IDLE_VERSION = "1.1"
+IDLE_VERSION = "1.2a0"
diff --git a/Lib/idlelib/rpc.py b/Lib/idlelib/rpc.py
index d097f9b..1620063 100644
--- a/Lib/idlelib/rpc.py
+++ b/Lib/idlelib/rpc.py
@@ -121,7 +121,7 @@
response_queue = Queue.Queue(0)
-class SocketIO:
+class SocketIO(object):
nextseq = 0
@@ -475,7 +475,7 @@
#----------------- end class SocketIO --------------------
-class RemoteObject:
+class RemoteObject(object):
# Token mix-in class
pass
@@ -484,7 +484,7 @@
objecttable[oid] = obj
return RemoteProxy(oid)
-class RemoteProxy:
+class RemoteProxy(object):
def __init__(self, oid):
self.oid = oid
@@ -533,7 +533,7 @@
def get_remote_proxy(self, oid):
return RPCProxy(self, oid)
-class RPCProxy:
+class RPCProxy(object):
__methods = None
__attributes = None
@@ -549,7 +549,11 @@
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 @@
if not callable(attr):
attributes[name] = 1
-class MethodProxy:
+class MethodProxy(object):
def __init__(self, sockio, oid, name):
self.sockio = sockio
diff --git a/Lib/idlelib/run.py b/Lib/idlelib/run.py
index 90a4692..62f4cce 100644
--- a/Lib/idlelib/run.py
+++ b/Lib/idlelib/run.py
@@ -270,7 +270,7 @@
thread.interrupt_main()
-class Executive:
+class Executive(object):
def __init__(self, rpchandler):
self.rpchandler = rpchandler