Revision: cf6a3fd8eed8 Author: Janne Härkönen <[email protected]> Date: Fri Sep 16 02:09:55 2011 Log: robotremoteserver: compatibility with new Dynamic API
Handle special names __intro__ and __init__ when resolving keyword names and arguments. Update issue 186 http://code.google.com/p/robotframework/source/detail?r=cf6a3fd8eed8 Modified: /tools/remoteserver/robotremoteserver.py ======================================= --- /tools/remoteserver/robotremoteserver.py Thu May 26 14:09:21 2011 +++ /tools/remoteserver/robotremoteserver.py Fri Sep 16 02:09:55 2011 @@ -91,6 +91,9 @@ def get_keyword_arguments(self, name): kw = self._get_keyword(name) + return self._arguments_from_kw(kw) if kw else [] + + def _arguments_from_kw(self, kw): args, varargs, _, defaults = inspect.getargspec(kw) if inspect.ismethod(kw): args = args[1:] # drop 'self' @@ -102,12 +105,17 @@ return args def get_keyword_documentation(self, name): + if name == '__intro__': + return inspect.getdoc(self._library) + if name == '__init__' and inspect.ismodule(self._library): + return '' return inspect.getdoc(self._get_keyword(name)) or '' def _get_keyword(self, name): if name == 'stop_remote_server': return self.stop_remote_server - return getattr(self._library, name) + kw = getattr(self._library, name, None) + return kw if inspect.isroutine(kw) else None def _get_error_details(self): exc_type, exc_value, exc_tb = sys.exc_info()
