]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Update usages of getargspec to compat version.
authorJacob MacDonald <jaccarmac@gmail.com>
Thu, 29 Oct 2015 00:52:06 +0000 (18:52 -0600)
committerJacob MacDonald <jaccarmac@gmail.com>
Thu, 29 Oct 2015 18:09:15 +0000 (12:09 -0600)
The places inspect.getargspec was being used were causing problems for
newer Python versions.

lib/sqlalchemy/orm/collections.py
lib/sqlalchemy/orm/events.py
lib/sqlalchemy/testing/exclusions.py
lib/sqlalchemy/util/langhelpers.py
test/orm/test_session.py

index 4f988a8d437ea2617f874c29c5f73a5026dfb4f6..b9145bae288b184cdd1fc355adadf04a13ef2372 100644 (file)
@@ -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
index 993385e15ad04685e6de629ef6cf6d667d5bbec3..0d2b0850f179bb41337bef723cbb67c369638d84 100644 (file)
@@ -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
 
index c7d06fceb3a2da44bfd5368c8c10d3627c0d4876..2a5b4aa6329099e4455c4445dca12498f047ab00 100644 (file)
@@ -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:
index 743afccfdd6678134330b5e4ebc16a8596b665a7..0d82cf0ad43f0d374b18e7af5e896ee364b51939 100644 (file)
@@ -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)
index f6ddcb56634df0a0d61f2566291f2c8f5af7ebd8..caeb08530b28997b28e1c3ab154b997c7463c0ed 100644 (file)
@@ -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