Skip to content

Commit

Permalink
Merge pull request #189 from thomwiggers/argspec_deprecated
Browse files Browse the repository at this point in the history
Use getfullargspec over deprecated getargspec
  • Loading branch information
asottile committed Feb 28, 2017
2 parents e5b9237 + 7355df6 commit 296ca8d
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions sass.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,14 +107,22 @@ def from_lambda(cls, name, lambda_):
:rtype: :class:`SassFunction`
"""
argspec = inspect.getargspec(lambda_)
if argspec.varargs or argspec.keywords or argspec.defaults:
if PY2: # pragma: no cover
a = inspect.getargspec(lambda_)
varargs, varkw, defaults, kwonlyargs = (
a.varargs, a.keywords, a.defaults, None)
else: # pragma: no cover
a = inspect.getfullargspec(lambda_)
varargs, varkw, defaults, kwonlyargs = (
a.varargs, a.varkw, a.defaults, a.kwonlyargs)

if varargs or varkw or defaults or kwonlyargs:
raise TypeError(
'functions cannot have starargs or defaults: {0} {1}'.format(
name, lambda_
)
)
return cls(name, argspec.args, lambda_)
return cls(name, a.args, lambda_)

@classmethod
def from_named_function(cls, function):
Expand Down

0 comments on commit 296ca8d

Please sign in to comment.