2番目のオブジェクト(bClass)を持つプロパティを持つオブジェクト(aClass)を渡そうとすると、次のようになります:
Unpersistable('Unpersistable data: クラス amodule.bClass のインスタンスは安全でないと見なされます')
aClass はコピー可能でゼリー化されていませんが、bClass はそうではありません。
これが私のコードです:
サーバー.py:
from twisted.application import internet, service
from twisted.spread import pb
from amodule import PBServer
application = service.Application("Test app")
# Prepare managers
clientManager = internet.TCPServer(8282, pb.PBServerFactory(PBServer()));
clientManager.setServiceParent(application)
if __name__ == '__main__':
print "Run with twistd"
import sys
sys.exit(1)
amodule.py:
from twisted.spread import pb
class bClass:
"""This is not a Copyable class
"""
class aClass(pb.RemoteCopy, pb.Copyable):
b = bClass()
pb.setUnjellyableForClass(aClass, aClass)
class PBServer(pb.Root):
def remote_echo(self, a):
return a.b
aClass とそれに含まれるすべてのオブジェクトを unjelly する方法はありますか? インクルードされたオブジェクトの解凍は頭痛の種であり、汚いコードに変わる可能性があるため...