Add and use backports of Django's arg spec functions.
Review Request #11928 — Created Jan. 12, 2022 and submitted — Latest diff uploaded
We have some deprecated uses of
inspect.getargspec()
, which has long
since been replaced byinspect.getfullargspec
andinspect.Signature
.Most of our uses in Djblets (and Review Board) check for the same few
things (presence of**kwargs
, specific parameters, etc.), and
fortunately Django has some nice utility methods in
django.utils.inspect
for these purposes. These were introduced in
Django 1.8, and since Djblets 2.x supports Django 1.6, we can't import
them directly.This change adds a compat module for
django.utils.inspect
(djblets.util.compat.django.utils.inspect
), and switches our code to
using it.It also updates the deprecation warning for one of the uses to use our
deprecation classes.
All unit tests pass on all versions of Django and Python.