annotate Lib/idlelib/RemoteObjectBrowser.py @ 58925:eecf1bef052d 2.6

Merged revisions 78207 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r78207 | ezio.melotti | 2010-02-17 01:26:09 +0200 (Wed, 17 Feb 2010) | 1 line #7930: fix stripid ........
author Ezio Melotti <ezio.melotti@gmail.com>
date Tue, 16 Feb 2010 23:29:44 +0000
parents b74afdd072eb
children eab361617f6a 4bbbe0c55fa2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23547
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
1 import rpc
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
2
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
3 def remote_object_tree_item(item):
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
4 wrapper = WrappedObjectTreeItem(item)
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
5 oid = id(wrapper)
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
6 rpc.objecttable[oid] = wrapper
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
7 return oid
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
8
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
9 class WrappedObjectTreeItem:
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
10 # Lives in PYTHON subprocess
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
11
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
12 def __init__(self, item):
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
13 self.__item = item
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
14
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
15 def __getattr__(self, name):
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
16 value = getattr(self.__item, name)
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
17 return value
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
18
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
19 def _GetSubList(self):
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
20 list = self.__item._GetSubList()
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
21 return map(remote_object_tree_item, list)
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
22
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
23 class StubObjectTreeItem:
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
24 # Lives in IDLE process
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
25
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
26 def __init__(self, sockio, oid):
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
27 self.sockio = sockio
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
28 self.oid = oid
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
29
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
30 def __getattr__(self, name):
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
31 value = rpc.MethodProxy(self.sockio, self.oid, name)
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
32 return value
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
33
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
34 def _GetSubList(self):
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
35 list = self.sockio.remotecall(self.oid, "_GetSubList", (), {})
b74afdd072eb GvR's rpc patch
Chui Tey <chui.tey@advdata.com.au>
parents:
diff changeset
36 return [StubObjectTreeItem(self.sockio, oid) for oid in list]