Skip to content

Commit 646a094

Browse files
committed
Fix Python 3.11 compatibility.
Use `inspect.getfullargspec` instead of the removed `inspect.getargspec` on Python 3. Fixes robotframework#81.
1 parent dce0587 commit 646a094

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/robotremoteserver.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@
3030
from xmlrpclib import Binary, ServerProxy
3131
from collections import Mapping
3232
PY2, PY3 = True, False
33+
def getfullargspec(func):
34+
return inspect.getargspec(func) + ([], None, {})
3335
else:
36+
from inspect import getfullargspec
3437
from io import StringIO
3538
from xmlrpc.client import Binary, ServerProxy
3639
from xmlrpc.server import SimpleXMLRPCServer
@@ -308,7 +311,7 @@ def get_keyword_arguments(self, name):
308311
if __name__ == '__init__':
309312
return []
310313
kw = self._get_keyword(name)
311-
args, varargs, kwargs, defaults = inspect.getargspec(kw)
314+
args, varargs, kwargs, defaults, _, _, _ = getfullargspec(kw)
312315
if inspect.ismethod(kw):
313316
args = args[1:] # drop 'self'
314317
if defaults:
@@ -371,8 +374,8 @@ def __init__(self, library, get_keyword_names, run_keyword):
371374
= dynamic_method(library, 'get_keyword_tags')
372375

373376
def _get_kwargs_support(self, run_keyword):
374-
spec = inspect.getargspec(run_keyword)
375-
return len(spec.args) > 3 # self, name, args, kwargs=None
377+
args = getfullargspec(run_keyword)[0]
378+
return len(args) > 3 # self, name, args, kwargs=None
376379

377380
def run_keyword(self, name, args, kwargs=None):
378381
args = [name, args, kwargs] if kwargs else [name, args]

0 commit comments

Comments
 (0)