summaryrefslogtreecommitdiff
path: root/jsonrpclib/jsonrpc.py
diff options
context:
space:
mode:
Diffstat (limited to 'jsonrpclib/jsonrpc.py')
-rw-r--r--jsonrpclib/jsonrpc.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/jsonrpclib/jsonrpc.py b/jsonrpclib/jsonrpc.py
index e60f8c4..167bcd7 100644
--- a/jsonrpclib/jsonrpc.py
+++ b/jsonrpclib/jsonrpc.py
@@ -290,11 +290,16 @@ class _Method(XML_Method):
return self.__send(self.__name, kwargs)
def __getattr__(self, name):
- self.__name = '%s.%s' % (self.__name, name)
- return self
- # The old method returned a new instance, but this seemed wasteful.
- # The only thing that changes is the name.
- # return _Method(self.__send, "%s.%s" % (self.__name, name))
+ return _Method(self.__send, "%s.%s" % (self.__name, name))
+
+ def __repr__(self):
+ return '<{} "{}">'.format(self.__class__.__name__, self.__name)
+
+ def __str__(self):
+ return self.__repr__()
+
+ def __dir__(self):
+ return self.__dict__.keys()
class _Notify(object):