Package pyperry :: Package adapter :: Module bertrpc_adapter
[frames] | no frames]

Source Code for Module pyperry.adapter.bertrpc_adapter

 1  from bertrpc import Service 
 2  from pyperry.adapter.abstract_adapter import AbstractAdapter 
3 4 -class BERTRPC(AbstractAdapter):
5 """ 6 Adapter for accesing data over BERTRPC 7 8 Takes these configuration keywords: 9 10 - namespace: the module that the call lives in (required) 11 - procedure: the remote procedure to call (required) 12 - base_options: options that will be included with every request 13 14 """ 15
16 - def read(self, **kwargs):
17 options = kwargs['relation'].query() 18 options.update(self.config.base_options) 19 request = self.service.request('call') 20 module = request.__getattr__(self.config.namespace) 21 procedure = module.__getattr__(self.config.procedure) 22 return procedure(options)
23 24 @property
25 - def service(self):
26 if not hasattr(self, '_service'): 27 self._service = Service(self.config.server, self.config.port) 28 return self._service
29