@@ -52,11 +52,12 @@ def getfullargspec(func):
52
52
53
53
class RobotRemoteServer (object ):
54
54
55
- def __init__ (self , library , host = '127.0.0.1' , port = 8270 , port_file = None ,
55
+ def __init__ (self , libraries , host = '127.0.0.1' , port = 8270 , port_file = None ,
56
56
allow_stop = 'DEPRECATED' , serve = True , allow_remote_stop = True ):
57
57
"""Configure and start-up remote server.
58
58
59
- :param library: Test library instance or module to host.
59
+ :param libraries: Test library instance or module to host, can be a
60
+ list of modules to host.
60
61
:param host: Address to listen. Use ``'0.0.0.0'`` to listen
61
62
to all available interfaces.
62
63
:param port: Port to listen. Use ``0`` to select a free port
@@ -74,8 +75,11 @@ def __init__(self, library, host='127.0.0.1', port=8270, port_file=None,
74
75
``Stop Remote Server`` keyword and
75
76
``stop_remote_server`` XML-RPC method.
76
77
"""
77
- self ._library = [RemoteLibraryFactory (library_ )
78
- for library_ in library ]
78
+ if isinstance (libraries , list ):
79
+ self ._libraries = [RemoteLibraryFactory (library_ )
80
+ for library_ in libraries ]
81
+ else :
82
+ self ._libraries = [RemoteLibraryFactory (libraries )]
79
83
self ._server = StoppableXMLRPCServer (host , int (port ))
80
84
self ._register_functions (self ._server )
81
85
self ._port_file = port_file
@@ -173,33 +177,33 @@ def stop_remote_server(self, log=True):
173
177
174
178
def get_keyword_names (self ):
175
179
keywords = ['stop_remote_server' ]
176
- for l in self ._library :
180
+ for l in self ._libraries :
177
181
keywords += l .get_keyword_names ()
178
182
return keywords
179
183
180
184
def run_keyword (self , name , args , kwargs = None ):
181
185
if name == 'stop_remote_server' :
182
186
return KeywordRunner (self .stop_remote_server ).run_keyword (args , kwargs )
183
- library_ = next (l for l in self ._library if name in l ._names )
187
+ library_ = next (l for l in self ._libraries if name in l ._names )
184
188
return library_ .run_keyword (name , args , kwargs )
185
189
186
190
def get_keyword_arguments (self , name ):
187
191
if name == 'stop_remote_server' :
188
192
return []
189
- library_ = next (l for l in self ._library if name in l ._names )
193
+ library_ = next (l for l in self ._libraries if name in l ._names )
190
194
return library_ .get_keyword_arguments (name )
191
195
192
196
def get_keyword_documentation (self , name ):
193
197
if name == 'stop_remote_server' :
194
198
return ('Stop the remote server unless stopping is disabled.\n \n '
195
199
'Return ``True/False`` depending was server stopped or not.' )
196
- library_ = next (l for l in self ._library if name in l ._names )
200
+ library_ = next (l for l in self ._libraries if name in l ._names )
197
201
return library_ .get_keyword_documentation (name )
198
202
199
203
def get_keyword_tags (self , name ):
200
204
if name == 'stop_remote_server' :
201
205
return []
202
- library_ = next (l for l in self ._library if name in l ._names )
206
+ library_ = next (l for l in self ._libraries if name in l ._names )
203
207
return library_ .get_keyword_tags (name )
204
208
205
209
@@ -288,7 +292,7 @@ def is_function_or_method(item):
288
292
class StaticRemoteLibrary (object ):
289
293
290
294
def __init__ (self , library ):
291
- self ._library = library
295
+ self ._libraries = library
292
296
self ._names , self ._robot_name_index = self ._get_keyword_names (library )
293
297
294
298
def _get_keyword_names (self , library ):
@@ -313,7 +317,7 @@ def run_keyword(self, name, args, kwargs=None):
313
317
def _get_keyword (self , name ):
314
318
if name in self ._robot_name_index :
315
319
name = self ._robot_name_index [name ]
316
- return getattr (self ._library , name )
320
+ return getattr (self ._libraries , name )
317
321
318
322
def get_keyword_arguments (self , name ):
319
323
if __name__ == '__init__' :
@@ -333,9 +337,9 @@ def get_keyword_arguments(self, name):
333
337
334
338
def get_keyword_documentation (self , name ):
335
339
if name == '__intro__' :
336
- source = self ._library
340
+ source = self ._libraries
337
341
elif name == '__init__' :
338
- source = self ._get_init (self ._library )
342
+ source = self ._get_init (self ._libraries )
339
343
else :
340
344
source = self ._get_keyword (name )
341
345
return inspect .getdoc (source ) or ''
@@ -620,4 +624,4 @@ def parse_args(script, *args):
620
624
621
625
action , uri = parse_args (* sys .argv )
622
626
success = action (uri )
623
- sys .exit (0 if success else 1 )
627
+ sys .exit (0 if success else 1 )
0 commit comments