4848
4949class RobotRemoteServer (object ):
5050
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 ,
5252 allow_stop = 'DEPRECATED' , serve = True , allow_remote_stop = True ):
5353 """Configure and start-up remote server.
5454
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.
5657 :param host: Address to listen. Use ``'0.0.0.0'`` to listen
5758 to all available interfaces.
5859 :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,
7071 ``Stop Remote Server`` keyword and
7172 ``stop_remote_server`` XML-RPC method.
7273 """
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 )]
7579 self ._server = StoppableXMLRPCServer (host , int (port ))
7680 self ._register_functions (self ._server )
7781 self ._port_file = port_file
@@ -169,33 +173,33 @@ def stop_remote_server(self, log=True):
169173
170174 def get_keyword_names (self ):
171175 keywords = ['stop_remote_server' ]
172- for l in self ._library :
176+ for l in self ._libraries :
173177 keywords += l .get_keyword_names ()
174178 return keywords
175179
176180 def run_keyword (self , name , args , kwargs = None ):
177181 if name == 'stop_remote_server' :
178182 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 )
180184 return library_ .run_keyword (name , args , kwargs )
181185
182186 def get_keyword_arguments (self , name ):
183187 if name == 'stop_remote_server' :
184188 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 )
186190 return library_ .get_keyword_arguments (name )
187191
188192 def get_keyword_documentation (self , name ):
189193 if name == 'stop_remote_server' :
190194 return ('Stop the remote server unless stopping is disabled.\n \n '
191195 '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 )
193197 return library_ .get_keyword_documentation (name )
194198
195199 def get_keyword_tags (self , name ):
196200 if name == 'stop_remote_server' :
197201 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 )
199203 return library_ .get_keyword_tags (name )
200204
201205
@@ -284,7 +288,7 @@ def is_function_or_method(item):
284288class StaticRemoteLibrary (object ):
285289
286290 def __init__ (self , library ):
287- self ._library = library
291+ self ._libraries = library
288292 self ._names , self ._robot_name_index = self ._get_keyword_names (library )
289293
290294 def _get_keyword_names (self , library ):
@@ -309,7 +313,7 @@ def run_keyword(self, name, args, kwargs=None):
309313 def _get_keyword (self , name ):
310314 if name in self ._robot_name_index :
311315 name = self ._robot_name_index [name ]
312- return getattr (self ._library , name )
316+ return getattr (self ._libraries , name )
313317
314318 def get_keyword_arguments (self , name ):
315319 if __name__ == '__init__' :
@@ -329,9 +333,9 @@ def get_keyword_arguments(self, name):
329333
330334 def get_keyword_documentation (self , name ):
331335 if name == '__intro__' :
332- source = self ._library
336+ source = self ._libraries
333337 elif name == '__init__' :
334- source = self ._get_init (self ._library )
338+ source = self ._get_init (self ._libraries )
335339 else :
336340 source = self ._get_keyword (name )
337341 return inspect .getdoc (source ) or ''
@@ -616,4 +620,4 @@ def parse_args(script, *args):
616620
617621 action , uri = parse_args (* sys .argv )
618622 success = action (uri )
619- sys .exit (0 if success else 1 )
623+ sys .exit (0 if success else 1 )
0 commit comments