From 35c0809158be7feae4c4f877a08b93baea2d8291 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20No=C3=A9?= Date: Mon, 16 Jul 2018 10:46:04 +0200 Subject: [PATCH] bpo-33911: Fixed deprecation warning in xmlrpc.server (GH-7847) Replace deprecated inspect.getfullargspec() with inspect.signature(). --- Lib/xmlrpc/server.py | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/Lib/xmlrpc/server.py b/Lib/xmlrpc/server.py index 88d0eec786b018..f1c467eb1b2b87 100644 --- a/Lib/xmlrpc/server.py +++ b/Lib/xmlrpc/server.py @@ -107,13 +107,13 @@ def export_add(self, x, y): from xmlrpc.client import Fault, dumps, loads, gzip_encode, gzip_decode from http.server import BaseHTTPRequestHandler from functools import partial +from inspect import signature import http.server import socketserver import sys import os import re import pydoc -import inspect import traceback try: import fcntl @@ -771,24 +771,8 @@ def docroutine(self, object, name, mod=None, title = '%s' % ( self.escape(anchor), self.escape(name)) - if inspect.ismethod(object): - args = inspect.getfullargspec(object) - # exclude the argument bound to the instance, it will be - # confusing to the non-Python user - argspec = inspect.formatargspec ( - args.args[1:], - args.varargs, - args.varkw, - args.defaults, - annotations=args.annotations, - formatvalue=self.formatvalue - ) - elif inspect.isfunction(object): - args = inspect.getfullargspec(object) - argspec = inspect.formatargspec( - args.args, args.varargs, args.varkw, args.defaults, - annotations=args.annotations, - formatvalue=self.formatvalue) + if callable(object): + argspec = str(signature(object)) else: argspec = '(...)'