47 def _connect(self):
48 """Connect to a proxy and set up self passthrough to proxy methods."""
49 self._proxy = Pyro4.Proxy(self._url)
50 self._proxy._pyroGetMetadata()
51
52
53 my_methods = [
54 m[0] for m in inspect.getmembers(self, predicate=inspect.ismethod)
55 ]
56 methods = set(self._proxy._pyroMethods).difference(my_methods)
57
58 my_properties = [
59 m[0]
60 for m in inspect.getmembers(
61 self.__class__, predicate=inspect.isdatadescriptor
62 )
63 ]
64 properties = set(self._proxy._pyroAttrs).difference(my_properties)
65
66 for attr in itertools.chain(methods, properties):
67 setattr(self, attr, getattr(self._proxy, attr))
68
69