From 7355df61272285a75001693e5dda4efaafccde5e Mon Sep 17 00:00:00 2001 From: Thom Wiggers Date: Mon, 27 Feb 2017 15:52:21 +0100 Subject: [PATCH] Use getfullargspec over deprecated getargspec on PY3 This fixes #188 --- sass.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/sass.py b/sass.py index 2ce5b90f..ff18885a 100644 --- a/sass.py +++ b/sass.py @@ -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):