compat.py 607 B

123456789101112131415161718192021222324252627
  1. try:
  2. from inspect import getfullargspec as _getargspec
  3. except ImportError:
  4. from inspect import getargspec as _getargspec
  5. class getargspec(object):
  6. def __init__(self, method):
  7. self.argspec = _getargspec(method)
  8. @property
  9. def args(self):
  10. return self.argspec.args
  11. @property
  12. def varargs(self):
  13. return self.argspec.varargs
  14. @property
  15. def varkw(self):
  16. if hasattr(self.argspec, 'keywords'):
  17. return self.argspec.keywords
  18. return self.argspec.varkw
  19. @property
  20. def defaults(self):
  21. return self.argspec.defaults