Statistiques
| Révision :

root / ase / utils / deprecate.py @ 3

Historique | Voir | Annoter | Télécharger (1,38 ko)

1 1 tkerber
import warnings
2 1 tkerber
3 1 tkerber
class Deprecate:
4 1 tkerber
    def __init__(self, obj, name, newmodule, oldmodule='ase'):
5 1 tkerber
        self.obj = obj
6 1 tkerber
        self.name = name
7 1 tkerber
        self.newmodule = newmodule
8 1 tkerber
        self.oldmodule = oldmodule
9 1 tkerber
10 1 tkerber
    def __call__(self, *args, **kwargs):
11 1 tkerber
        message = ('%s.%s is deprecated, use %s.%s instead' %
12 1 tkerber
                   (self.oldmodule, self.name, self.newmodule, self.name))
13 1 tkerber
        warnings.warn(message, DeprecationWarning, stacklevel=2)
14 1 tkerber
        return self.obj(*args, **kwargs)
15 1 tkerber
16 1 tkerber
def _dep(method):
17 1 tkerber
    def _method(self, *args):
18 1 tkerber
        message = ('ase.%s is deprecated, use %s.%s instead' %
19 1 tkerber
                   (self.name, self.newmodule, self.name))
20 1 tkerber
        warnings.warn(message, DeprecationWarning, stacklevel=2)
21 1 tkerber
        return method(self, *args)
22 1 tkerber
    return _method
23 1 tkerber
24 1 tkerber
class DeprecatedFloat(float):
25 1 tkerber
    def __new__(cls, value, name, newmodule):
26 1 tkerber
        return float.__new__(cls, value)
27 1 tkerber
28 1 tkerber
    def __init__(self, value, name, newmodule):
29 1 tkerber
        self.name = name
30 1 tkerber
        self.newmodule = newmodule
31 1 tkerber
32 1 tkerber
    __mul__ = _dep(float.__mul__)
33 1 tkerber
    __rmul__ = _dep(float.__rmul__)
34 1 tkerber
    __div__ = _dep(float.__div__)
35 1 tkerber
    __rdiv__ = _dep(float.__rdiv__)
36 1 tkerber
37 1 tkerber
class DeprecatedNumpyImport:
38 1 tkerber
    def __init__(self):
39 1 tkerber
        import numpy
40 1 tkerber
        self.numpy = numpy
41 1 tkerber
42 1 tkerber
    def __getattr__(self, key):
43 1 tkerber
        warnings.warn('ase.np is deprecated; use import numpy as np instead')
44 1 tkerber
        return getattr(self.numpy, key)