Pyro4 プロキシをインデックス可能にしようとしています。これをテストするために、http://pythonhosted.org/Pyro4/intro.html#simple-exampleから挨拶の例を取得し、それを変更しました。
サーバ:
import Pyro4
class Test(object):
def __getitem__(self, index):
return index
test = Test()
print test[1]
print test[100]
daemon = Pyro4.Daemon()
uri = daemon.register(test)
print("Ready. Object uri =", uri)
daemon.requestLoop()
クライアント:
import Pyro4
uri = input("What is the Pyro uri of the object? ").strip()
test = Pyro4.Proxy(uri)
print test.__getitem__(1)
print test.__getitem__(100)
print test[1]
print test[100]
[] 表記はサーバーでは機能しますが、クライアント プロキシでは機能しません。私は得る:
TypeError: 'Proxy' オブジェクトはインデックス作成をサポートしていません
しかし、__getitem__
仕事をするために直接呼び出します。