summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob MacDonald <jaccarmac@gmail.com>2015-10-28 18:52:06 -0600
committerJacob MacDonald <jaccarmac@gmail.com>2015-10-29 12:09:15 -0600
commite8a5ed9c1cbc5e9f0aebffad5ea78abb16167778 (patch)
treee52d3a0616e79a57ec4bd42244db3401007f41eb
parent98c1dcc6bcade313a254fe11e8efa3c5b5ad959e (diff)
downloadsqlalchemy-pr/210.tar.gz
Update usages of getargspec to compat version.pr/210
The places inspect.getargspec was being used were causing problems for newer Python versions.
-rw-r--r--lib/sqlalchemy/orm/collections.py3
-rw-r--r--lib/sqlalchemy/orm/events.py3
-rw-r--r--lib/sqlalchemy/testing/exclusions.py3
-rw-r--r--lib/sqlalchemy/util/langhelpers.py8
-rw-r--r--test/orm/test_session.py3
5 files changed, 12 insertions, 8 deletions
diff --git a/lib/sqlalchemy/orm/collections.py b/lib/sqlalchemy/orm/collections.py
index 4f988a8d4..b9145bae2 100644
--- a/lib/sqlalchemy/orm/collections.py
+++ b/lib/sqlalchemy/orm/collections.py
@@ -111,6 +111,7 @@ from ..sql import expression
from .. import util, exc as sa_exc
from . import base
+from sqlalchemy.util.compat import inspect_getargspec
__all__ = ['collection', 'collection_adapter',
'mapped_collection', 'column_mapped_collection',
@@ -982,7 +983,7 @@ def _instrument_membership_mutator(method, before, argument, after):
adapter."""
# This isn't smart enough to handle @adds(1) for 'def fn(self, (a, b))'
if before:
- fn_args = list(util.flatten_iterator(inspect.getargspec(method)[0]))
+ fn_args = list(util.flatten_iterator(inspect_getargspec(method)[0]))
if isinstance(argument, int):
pos_arg = argument
named_arg = len(fn_args) > argument and fn_args[argument] or None
diff --git a/lib/sqlalchemy/orm/events.py b/lib/sqlalchemy/orm/events.py
index 993385e15..0d2b0850f 100644
--- a/lib/sqlalchemy/orm/events.py
+++ b/lib/sqlalchemy/orm/events.py
@@ -18,6 +18,7 @@ from .session import Session, sessionmaker
from .scoping import scoped_session
from .attributes import QueryableAttribute
from .query import Query
+from sqlalchemy.util.compat import inspect_getargspec
class InstrumentationEvents(event.Events):
"""Events related to class instrumentation events.
@@ -603,7 +604,7 @@ class MapperEvents(event.Events):
meth = getattr(cls, identifier)
try:
target_index = \
- inspect.getargspec(meth)[0].index('target') - 1
+ inspect_getargspec(meth)[0].index('target') - 1
except ValueError:
target_index = None
diff --git a/lib/sqlalchemy/testing/exclusions.py b/lib/sqlalchemy/testing/exclusions.py
index c7d06fceb..2a5b4aa63 100644
--- a/lib/sqlalchemy/testing/exclusions.py
+++ b/lib/sqlalchemy/testing/exclusions.py
@@ -12,6 +12,7 @@ from . import config
from .. import util
import inspect
import contextlib
+from sqlalchemy.util.compat import inspect_getargspec
def skip_if(predicate, reason=None):
@@ -295,7 +296,7 @@ class SpecPredicate(Predicate):
class LambdaPredicate(Predicate):
def __init__(self, lambda_, description=None, args=None, kw=None):
- spec = inspect.getargspec(lambda_)
+ spec = inspect_getargspec(lambda_)
if not spec[0]:
self.lambda_ = lambda db: lambda_()
else:
diff --git a/lib/sqlalchemy/util/langhelpers.py b/lib/sqlalchemy/util/langhelpers.py
index 743afccfd..0d82cf0ad 100644
--- a/lib/sqlalchemy/util/langhelpers.py
+++ b/lib/sqlalchemy/util/langhelpers.py
@@ -426,7 +426,7 @@ def getargspec_init(method):
"""
try:
- return inspect.getargspec(method)
+ return compat.inspect_getargspec(method)
except TypeError:
if method is object.__init__:
return (['self'], None, None, None)
@@ -464,7 +464,7 @@ def generic_repr(obj, additional_kw=(), to_inspect=None, omit_kwarg=()):
for i, insp in enumerate(to_inspect):
try:
(_args, _vargs, vkw, defaults) = \
- inspect.getargspec(insp.__init__)
+ compat.inspect_getargspec(insp.__init__)
except TypeError:
continue
else:
@@ -625,7 +625,7 @@ def monkeypatch_proxied_specials(into_cls, from_cls, skip=None, only=None,
except AttributeError:
continue
try:
- spec = inspect.getargspec(fn)
+ spec = compat.inspect_getargspec(fn)
fn_args = inspect.formatargspec(spec[0])
d_args = inspect.formatargspec(spec[0][1:])
except TypeError:
@@ -1365,7 +1365,7 @@ class EnsureKWArgType(type):
m = re.match(fn_reg, key)
if m:
fn = clsdict[key]
- spec = inspect.getargspec(fn)
+ spec = compat.inspect_getargspec(fn)
if not spec.keywords:
clsdict[key] = wrapped = cls._wrap_w_kw(fn)
setattr(cls, key, wrapped)
diff --git a/test/orm/test_session.py b/test/orm/test_session.py
index f6ddcb566..caeb08530 100644
--- a/test/orm/test_session.py
+++ b/test/orm/test_session.py
@@ -17,6 +17,7 @@ from sqlalchemy.util import pypy
from sqlalchemy.testing import fixtures
from test.orm import _fixtures
from sqlalchemy import event, ForeignKey
+from sqlalchemy.util.compat import inspect_getargspec
class ExecutionTest(_fixtures.FixtureTest):
@@ -1483,7 +1484,7 @@ class SessionInterface(fixtures.TestBase):
for meth in Session.public_methods:
if meth in blacklist:
continue
- spec = inspect.getargspec(getattr(Session, meth))
+ spec = inspect_getargspec(getattr(Session, meth))
if len(spec[0]) > 1 or spec[1]:
ok.add(meth)
return ok