This commit is contained in:
68
script/cpy/TestJProxy2.py
Normal file
68
script/cpy/TestJProxy2.py
Normal file
@@ -0,0 +1,68 @@
|
||||
from jep import jproxy
|
||||
import random
|
||||
|
||||
|
||||
"""
|
||||
class proxy():
|
||||
def __init__(self,cls):
|
||||
self.cls=cls
|
||||
def __call__(self, name):
|
||||
return jproxy(self, self.cls)
|
||||
|
||||
@proxy(['ch.psi.pshell.device.Readable'])
|
||||
"""
|
||||
class Readable():
|
||||
def __init__(self, name=None):
|
||||
self.name=name
|
||||
self.proxy=jproxy(self, ['ch.psi.pshell.device.Readable'])
|
||||
|
||||
def __call__(self):
|
||||
return self.read()
|
||||
|
||||
def __getattribute__(self, name):
|
||||
if name in ('proxy',):
|
||||
return object.__getattribute__(self, name)
|
||||
print(name)
|
||||
return self.proxy.__getattribute__(name)
|
||||
|
||||
def getName(self):
|
||||
if self.name :
|
||||
return self.name
|
||||
|
||||
return str(self.__class__.__name__)
|
||||
def read(self):
|
||||
raise Exception ("Not implemented")
|
||||
|
||||
|
||||
|
||||
class ReadableScalar(Readable):
|
||||
def read(self):
|
||||
ret =random.random()
|
||||
print (ret)
|
||||
return ret
|
||||
|
||||
class ReadableWaveform(Readable):
|
||||
|
||||
def __call__(self):
|
||||
return self.read()
|
||||
def getSize(self):
|
||||
return 20
|
||||
def read(self):
|
||||
ret = []
|
||||
for i in range (self.getSize()):
|
||||
ret.append(random.random())
|
||||
return ret
|
||||
def getName(self):
|
||||
return "rw1"
|
||||
|
||||
|
||||
|
||||
#rs1 = jproxy(ReadableScalar(), ['ch.psi.pshell.device.Readable'])
|
||||
rs1 = ReadableScalar()
|
||||
#rw1 = jproxy(ReadableWaveform(), ['ch.psi.pshell.device.Readable$ReadableArray'])
|
||||
#ri1 = jproxy(ReadableImage(), ['ch.psi.pshell.device.Readable$ReadableMatrix'])
|
||||
#rw1=ReadableWaveform()
|
||||
rs1.read()
|
||||
#rw1.read()
|
||||
#rs1 = jproxy(rs1 , ['ch.psi.pshell.device.Readable'])#
|
||||
#tscan([rs1],10,0.1, save=False)
|
||||
Reference in New Issue
Block a user