From 55840f6bccadd79caf722d86f06da857e3045453 Mon Sep 17 00:00:00 2001 From: Slasnista Date: Mon, 28 Aug 2017 10:43:31 +0200 Subject: move no da objects into utils.py --- ot/deprecation.py | 103 ------------------------------------------------------ 1 file changed, 103 deletions(-) delete mode 100644 ot/deprecation.py (limited to 'ot/deprecation.py') diff --git a/ot/deprecation.py b/ot/deprecation.py deleted file mode 100644 index 2b16427..0000000 --- a/ot/deprecation.py +++ /dev/null @@ -1,103 +0,0 @@ -""" - deprecated class from scikit-learn package - https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/utils/deprecation.py -""" - -import sys -import warnings - -__all__ = ["deprecated", ] - - -class deprecated(object): - """Decorator to mark a function or class as deprecated. - Issue a warning when the function is called/the class is instantiated and - adds a warning to the docstring. - The optional extra argument will be appended to the deprecation message - and the docstring. Note: to use this with the default value for extra, put - in an empty of parentheses: - >>> from ot.deprecation import deprecated - >>> @deprecated() - ... def some_function(): pass - - Parameters - ---------- - extra : string - to be added to the deprecation messages - """ - - # Adapted from http://wiki.python.org/moin/PythonDecoratorLibrary, - # but with many changes. - - def __init__(self, extra=''): - self.extra = extra - - def __call__(self, obj): - """Call method - Parameters - ---------- - obj : object - """ - if isinstance(obj, type): - return self._decorate_class(obj) - else: - return self._decorate_fun(obj) - - def _decorate_class(self, cls): - msg = "Class %s is deprecated" % cls.__name__ - if self.extra: - msg += "; %s" % self.extra - - # FIXME: we should probably reset __new__ for full generality - init = cls.__init__ - - def wrapped(*args, **kwargs): - warnings.warn(msg, category=DeprecationWarning) - return init(*args, **kwargs) - - cls.__init__ = wrapped - - wrapped.__name__ = '__init__' - wrapped.__doc__ = self._update_doc(init.__doc__) - wrapped.deprecated_original = init - - return cls - - def _decorate_fun(self, fun): - """Decorate function fun""" - - msg = "Function %s is deprecated" % fun.__name__ - if self.extra: - msg += "; %s" % self.extra - - def wrapped(*args, **kwargs): - warnings.warn(msg, category=DeprecationWarning) - return fun(*args, **kwargs) - - wrapped.__name__ = fun.__name__ - wrapped.__dict__ = fun.__dict__ - wrapped.__doc__ = self._update_doc(fun.__doc__) - - return wrapped - - def _update_doc(self, olddoc): - newdoc = "DEPRECATED" - if self.extra: - newdoc = "%s: %s" % (newdoc, self.extra) - if olddoc: - newdoc = "%s\n\n%s" % (newdoc, olddoc) - return newdoc - - -def _is_deprecated(func): - """Helper to check if func is wraped by our deprecated decorator""" - if sys.version_info < (3, 5): - raise NotImplementedError("This is only available for python3.5 " - "or above") - closures = getattr(func, '__closure__', []) - if closures is None: - closures = [] - is_deprecated = ('deprecated' in ''.join([c.cell_contents - for c in closures - if isinstance(c.cell_contents, str)])) - return is_deprecated -- cgit v1.2.3