48
48
49
49
class RobotRemoteServer (object ):
50
50
51
- def __init__ (self , library , host = '127.0.0.1' , port = 8270 , port_file = None ,
51
+ def __init__ (self , libraries , host = '127.0.0.1' , port = 8270 , port_file = None ,
52
52
allow_stop = 'DEPRECATED' , serve = True , allow_remote_stop = True ):
53
53
"""Configure and start-up remote server.
54
54
55
- :param library: Test library instance or module to host.
55
+ :param libraries: Test library instance or module to host, can be a
56
+ list of modules to host.
56
57
:param host: Address to listen. Use ``'0.0.0.0'`` to listen
57
58
to all available interfaces.
58
59
:param port: Port to listen. Use ``0`` to select a free port
@@ -70,8 +71,11 @@ def __init__(self, library, host='127.0.0.1', port=8270, port_file=None,
70
71
``Stop Remote Server`` keyword and
71
72
``stop_remote_server`` XML-RPC method.
72
73
"""
73
- self ._library = [RemoteLibraryFactory (library_ )
74
- for library_ in library ]
74
+ if isinstance (libraries , list ):
75
+ self ._libraries = [RemoteLibraryFactory (library_ )
76
+ for library_ in libraries ]
77
+ else :
78
+ self ._libraries = [RemoteLibraryFactory (libraries )]
75
79
self ._server = StoppableXMLRPCServer (host , int (port ))
76
80
self ._register_functions (self ._server )
77
81
self ._port_file = port_file
@@ -169,33 +173,33 @@ def stop_remote_server(self, log=True):
169
173
170
174
def get_keyword_names (self ):
171
175
keywords = ['stop_remote_server' ]
172
- for l in self ._library :
176
+ for l in self ._libraries :
173
177
keywords += l .get_keyword_names ()
174
178
return keywords
175
179
176
180
def run_keyword (self , name , args , kwargs = None ):
177
181
if name == 'stop_remote_server' :
178
182
return KeywordRunner (self .stop_remote_server ).run_keyword (args , kwargs )
179
- library_ = next (l for l in self ._library if name in l ._names )
183
+ library_ = next (l for l in self ._libraries if name in l ._names )
180
184
return library_ .run_keyword (name , args , kwargs )
181
185
182
186
def get_keyword_arguments (self , name ):
183
187
if name == 'stop_remote_server' :
184
188
return []
185
- library_ = next (l for l in self ._library if name in l ._names )
189
+ library_ = next (l for l in self ._libraries if name in l ._names )
186
190
return library_ .get_keyword_arguments (name )
187
191
188
192
def get_keyword_documentation (self , name ):
189
193
if name == 'stop_remote_server' :
190
194
return ('Stop the remote server unless stopping is disabled.\n \n '
191
195
'Return ``True/False`` depending was server stopped or not.' )
192
- library_ = next (l for l in self ._library if name in l ._names )
196
+ library_ = next (l for l in self ._libraries if name in l ._names )
193
197
return library_ .get_keyword_documentation (name )
194
198
195
199
def get_keyword_tags (self , name ):
196
200
if name == 'stop_remote_server' :
197
201
return []
198
- library_ = next (l for l in self ._library if name in l ._names )
202
+ library_ = next (l for l in self ._libraries if name in l ._names )
199
203
return library_ .get_keyword_tags (name )
200
204
201
205
@@ -284,7 +288,7 @@ def is_function_or_method(item):
284
288
class StaticRemoteLibrary (object ):
285
289
286
290
def __init__ (self , library ):
287
- self ._library = library
291
+ self ._libraries = library
288
292
self ._names , self ._robot_name_index = self ._get_keyword_names (library )
289
293
290
294
def _get_keyword_names (self , library ):
@@ -309,7 +313,7 @@ def run_keyword(self, name, args, kwargs=None):
309
313
def _get_keyword (self , name ):
310
314
if name in self ._robot_name_index :
311
315
name = self ._robot_name_index [name ]
312
- return getattr (self ._library , name )
316
+ return getattr (self ._libraries , name )
313
317
314
318
def get_keyword_arguments (self , name ):
315
319
if __name__ == '__init__' :
@@ -329,9 +333,9 @@ def get_keyword_arguments(self, name):
329
333
330
334
def get_keyword_documentation (self , name ):
331
335
if name == '__intro__' :
332
- source = self ._library
336
+ source = self ._libraries
333
337
elif name == '__init__' :
334
- source = self ._get_init (self ._library )
338
+ source = self ._get_init (self ._libraries )
335
339
else :
336
340
source = self ._get_keyword (name )
337
341
return inspect .getdoc (source ) or ''
@@ -616,4 +620,4 @@ def parse_args(script, *args):
616
620
617
621
action , uri = parse_args (* sys .argv )
618
622
success = action (uri )
619
- sys .exit (0 if success else 1 )
623
+ sys .exit (0 if success else 1 )
0 commit comments