@@ -52,11 +52,12 @@ def getfullargspec(func):
5252
5353class RobotRemoteServer (object ):
5454
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 ,
5656 allow_stop = 'DEPRECATED' , serve = True , allow_remote_stop = True ):
5757 """Configure and start-up remote server.
5858
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.
6061 :param host: Address to listen. Use ``'0.0.0.0'`` to listen
6162 to all available interfaces.
6263 :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,
7475 ``Stop Remote Server`` keyword and
7576 ``stop_remote_server`` XML-RPC method.
7677 """
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 )]
7983 self ._server = StoppableXMLRPCServer (host , int (port ))
8084 self ._register_functions (self ._server )
8185 self ._port_file = port_file
@@ -173,33 +177,33 @@ def stop_remote_server(self, log=True):
173177
174178 def get_keyword_names (self ):
175179 keywords = ['stop_remote_server' ]
176- for l in self ._library :
180+ for l in self ._libraries :
177181 keywords += l .get_keyword_names ()
178182 return keywords
179183
180184 def run_keyword (self , name , args , kwargs = None ):
181185 if name == 'stop_remote_server' :
182186 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 )
184188 return library_ .run_keyword (name , args , kwargs )
185189
186190 def get_keyword_arguments (self , name ):
187191 if name == 'stop_remote_server' :
188192 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 )
190194 return library_ .get_keyword_arguments (name )
191195
192196 def get_keyword_documentation (self , name ):
193197 if name == 'stop_remote_server' :
194198 return ('Stop the remote server unless stopping is disabled.\n \n '
195199 '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 )
197201 return library_ .get_keyword_documentation (name )
198202
199203 def get_keyword_tags (self , name ):
200204 if name == 'stop_remote_server' :
201205 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 )
203207 return library_ .get_keyword_tags (name )
204208
205209
@@ -288,7 +292,7 @@ def is_function_or_method(item):
288292class StaticRemoteLibrary (object ):
289293
290294 def __init__ (self , library ):
291- self ._library = library
295+ self ._libraries = library
292296 self ._names , self ._robot_name_index = self ._get_keyword_names (library )
293297
294298 def _get_keyword_names (self , library ):
@@ -313,7 +317,7 @@ def run_keyword(self, name, args, kwargs=None):
313317 def _get_keyword (self , name ):
314318 if name in self ._robot_name_index :
315319 name = self ._robot_name_index [name ]
316- return getattr (self ._library , name )
320+ return getattr (self ._libraries , name )
317321
318322 def get_keyword_arguments (self , name ):
319323 if __name__ == '__init__' :
@@ -333,9 +337,9 @@ def get_keyword_arguments(self, name):
333337
334338 def get_keyword_documentation (self , name ):
335339 if name == '__intro__' :
336- source = self ._library
340+ source = self ._libraries
337341 elif name == '__init__' :
338- source = self ._get_init (self ._library )
342+ source = self ._get_init (self ._libraries )
339343 else :
340344 source = self ._get_keyword (name )
341345 return inspect .getdoc (source ) or ''
@@ -620,4 +624,4 @@ def parse_args(script, *args):
620624
621625 action , uri = parse_args (* sys .argv )
622626 success = action (uri )
623- sys .exit (0 if success else 1 )
627+ sys .exit (0 if success else 1 )
0 commit comments