Skip to content

Commit 7355df6

Browse files
committed
Use getfullargspec over deprecated getargspec on PY3
This fixes #188
1 parent e5b9237 commit 7355df6

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

sass.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,14 +107,22 @@ def from_lambda(cls, name, lambda_):
107107
:rtype: :class:`SassFunction`
108108
109109
"""
110-
argspec = inspect.getargspec(lambda_)
111-
if argspec.varargs or argspec.keywords or argspec.defaults:
110+
if PY2: # pragma: no cover
111+
a = inspect.getargspec(lambda_)
112+
varargs, varkw, defaults, kwonlyargs = (
113+
a.varargs, a.keywords, a.defaults, None)
114+
else: # pragma: no cover
115+
a = inspect.getfullargspec(lambda_)
116+
varargs, varkw, defaults, kwonlyargs = (
117+
a.varargs, a.varkw, a.defaults, a.kwonlyargs)
118+
119+
if varargs or varkw or defaults or kwonlyargs:
112120
raise TypeError(
113121
'functions cannot have starargs or defaults: {0} {1}'.format(
114122
name, lambda_
115123
)
116124
)
117-
return cls(name, argspec.args, lambda_)
125+
return cls(name, a.args, lambda_)
118126

119127
@classmethod
120128
def from_named_function(cls, function):

0 commit comments

Comments
 (0)