@@ -63,7 +63,7 @@ def __init__(self, library, host='127.0.0.1', port=8270, port_file=None,
63
63
``Stop Remote Server`` keyword.
64
64
"""
65
65
SimpleXMLRPCServer .__init__ (self , (host , int (port )), logRequests = False )
66
- self ._library = RemoteLibrary (library , self . stop_remote_server )
66
+ self ._library = RemoteLibrary (library )
67
67
self ._allow_stop = allow_stop
68
68
self ._shutdown = False
69
69
self ._register_functions ()
@@ -127,10 +127,12 @@ def _write_to_stream(self, msg, stream):
127
127
stream .flush ()
128
128
129
129
def get_keyword_names (self ):
130
- return self ._library .get_keyword_names ()
130
+ return self ._library .get_keyword_names () + [ 'stop_remote_server' ]
131
131
132
132
def run_keyword (self , name , args , kwargs = None ):
133
- return self ._library .run_keyword (name , args , kwargs )
133
+ if name != 'stop_remote_server' :
134
+ return self ._library .run_keyword (name , args , kwargs )
135
+ return KeywordRunner (self .stop_remote_server ).run_keyword (args , kwargs )
134
136
135
137
def get_keyword_arguments (self , name ):
136
138
return self ._library .get_keyword_arguments (name )
@@ -141,9 +143,8 @@ def get_keyword_documentation(self, name):
141
143
142
144
class RemoteLibrary (object ):
143
145
144
- def __init__ (self , library , stop_remote_server = None ):
146
+ def __init__ (self , library ):
145
147
self ._library = library
146
- self ._stop_remote_server = stop_remote_server
147
148
148
149
def get_keyword_names (self ):
149
150
get_kw_names = (getattr (self ._library , 'get_keyword_names' , None ) or
@@ -153,8 +154,6 @@ def get_keyword_names(self):
153
154
else :
154
155
names = [attr for attr in dir (self ._library ) if attr [0 ] != '_' and
155
156
self ._is_function_or_method (getattr (self ._library , attr ))]
156
- if self ._stop_remote_server :
157
- names .append ('stop_remote_server' )
158
157
return names
159
158
160
159
def _is_function_or_method (self , item ):
@@ -165,8 +164,6 @@ def run_keyword(self, name, args, kwargs=None):
165
164
return KeywordRunner (kw ).run_keyword (args , kwargs )
166
165
167
166
def _get_keyword (self , name ):
168
- if name == 'stop_remote_server' :
169
- return self ._stop_remote_server
170
167
kw = getattr (self ._library , name , None )
171
168
if not self ._is_function_or_method (kw ):
172
169
return None
0 commit comments