Skip to content

Commit bf76bdd

Browse files
committed
Follow RF4.0 get_lib_info() interface update
Explicitly add __intro__ and __init__ docu to get_library_information() Also includes a fix. Not all libraries have the _names attribute (e.g. Reserved).
1 parent 83301ea commit bf76bdd

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

src/robotremoteserver.py

+10-7
Original file line numberDiff line numberDiff line change
@@ -182,34 +182,33 @@ def get_keyword_names(self):
182182
def run_keyword(self, name, args, kwargs=None):
183183
if name == 'stop_remote_server':
184184
return KeywordRunner(self.stop_remote_server).run_keyword(args, kwargs)
185-
library_ = next((l for l in self._library if name in l._names),
185+
library_ = next((l for l in self._library if name in l.get_keyword_names()),
186186
self._library[0])
187187
return library_.run_keyword(name, args, kwargs)
188188

189189
def get_keyword_arguments(self, name):
190190
if name == 'stop_remote_server':
191191
return []
192-
library_ = next((l for l in self._library if name in l._names), #None)
193-
self._library[0])
192+
library_ = next((l for l in self._library if name in l.get_keyword_names()), None)
194193
return library_.get_keyword_arguments(name) if library_ else []
195194

196195
def get_keyword_documentation(self, name):
197196
if name == 'stop_remote_server':
198197
return ('Stop the remote server unless stopping is disabled.\n\n'
199198
'Return ``True/False`` depending was server stopped or not.')
200-
library_ = next((l for l in self._library if name in l._names), None)
199+
library_ = next((l for l in self._library if name in l.get_keyword_names()), None)
201200
return library_.get_keyword_documentation(name) if library_ else ""
202201

203202
def get_keyword_tags(self, name):
204203
if name == 'stop_remote_server':
205204
return []
206-
library_ = next((l for l in self._library if name in l._names), None)
205+
library_ = next((l for l in self._library if name in l.get_keyword_names()), None)
207206
return library_.get_keyword_tags(name) if library_ else []
208207

209208
def get_keyword_types(self, name):
210209
if name == 'stop_remote_server':
211210
return []
212-
library_ = next((l for l in self._library if name in l._names), None)
211+
library_ = next((l for l in self._library if name in l.get_keyword_names()), None)
213212
return library_.get_keyword_types(name) if library_ and hasattr(library_, 'get_keyword_types') else []
214213

215214
def get_library_information(self):
@@ -218,7 +217,11 @@ def get_library_information(self):
218217
info_dict[kw] = dict(args=self.get_keyword_arguments(kw),
219218
tags=self.get_keyword_tags(kw),
220219
doc=self.get_keyword_documentation(kw),
221-
types=self.get_keyword_types(kw))
220+
types=self.get_keyword_types(kw),
221+
)
222+
if len(self._library) == 1:
223+
info_dict['__intro__'] = dict(doc=self._library[0].get_keyword_documentation('__intro__'))
224+
info_dict['__init__'] = dict(doc=self._library[0].get_keyword_documentation('__init__'))
222225
return info_dict
223226

224227
class StoppableXMLRPCServer(SimpleXMLRPCServer):

0 commit comments

Comments
 (0)