From 8064e184059385a44d7834dc5924e14ae6ed6240 Mon Sep 17 00:00:00 2001 From: likui Date: Tue, 11 May 2021 09:36:51 +0800 Subject: [PATCH] Replace getargspec with getfullargspec getargspec() is deprecated since py3 [1] https://docs.python.org/3/library/inspect.html#inspect.getargspec Change-Id: Ie1513f9b4911e54ce6714074eb2dc4052323ef42 --- oslo_db/sqlalchemy/enginefacade.py | 4 ++-- oslo_db/sqlalchemy/utils.py | 20 -------------------- 2 files changed, 2 insertions(+), 22 deletions(-) diff --git a/oslo_db/sqlalchemy/enginefacade.py b/oslo_db/sqlalchemy/enginefacade.py index 6a13c705..1373d824 100644 --- a/oslo_db/sqlalchemy/enginefacade.py +++ b/oslo_db/sqlalchemy/enginefacade.py @@ -12,6 +12,7 @@ import contextlib import functools +import inspect import operator import threading import warnings @@ -26,7 +27,6 @@ from oslo_db import exception from oslo_db import options from oslo_db.sqlalchemy import engines from oslo_db.sqlalchemy import orm -from oslo_db.sqlalchemy import utils from oslo_db import warning @@ -997,7 +997,7 @@ class _TransactionContextManager(object): def __call__(self, fn): """Decorate a function.""" - argspec = utils.getargspec(fn) + argspec = inspect.getfullargspec(fn) if argspec.args[0] == 'self' or argspec.args[0] == 'cls': context_index = 1 else: diff --git a/oslo_db/sqlalchemy/utils.py b/oslo_db/sqlalchemy/utils.py index d1499f04..2babb184 100644 --- a/oslo_db/sqlalchemy/utils.py +++ b/oslo_db/sqlalchemy/utils.py @@ -19,7 +19,6 @@ import collections from collections import abc import contextlib -import inspect as pyinspect import itertools import logging import re @@ -1184,25 +1183,6 @@ def suspend_fk_constraints_for_col_alter( ) -def getargspec(fn): - """Inspects a function for its argspec. - - This is to handle a difference between py2/3. The Python 2.x getargspec - call is deprecated in Python 3.x, with the suggestion to use the signature - call instead. - - To keep compatibility with the results, while avoiding deprecation - warnings, this instead will use the getfullargspec instead. - - :param fn: The function to inspect. - :returns: The argspec for the function. - """ - if hasattr(pyinspect, 'getfullargspec'): - return pyinspect.getfullargspec(fn) - - return pyinspect.getargspec(fn) - - class NonCommittingConnectable(object): """A ``Connectable`` substitute which rolls all operations back.