pyjob.misc.
decode
(byte_s)[source]¶Decode a string by guessing the encoding
Parameters: | byte_s (bytes) – The bytes to decode |
---|---|
Returns: | byte_s decoded |
Return type: | str |
Raises: | PyJobError – Unable to infer string encoding |
pyjob.misc.
deprecate
(version, msg=None)[source]¶Decorator to deprecate Python classes and functions
Parameters: |
---|
Examples
Enable DeprecationWarning
messages to be displayed.
>>> import warnings
>>> warnings.simplefilter('default')
Decorate a simple Python function without additional message
>>> @deprecate('0.0.0')
... def sum(a, b):
... return a + b
>>> sum(1, 2)
deprecated.py:34: DeprecationWarning: sum has been deprecated and will be removed in version 0.0.0!
warnings.warn(message, DeprecationWarning)
3
Decorate a simple Python function with additional message
>>> @deprecate('0.0.1', msg='Use XXX instead!')
... def sum(a, b):
... return a + b
>>> sum(2, 2)
deprecated.py:34: DeprecationWarning: sum has been deprecated and will be removed in version 0.0.0!
warnings.warn(message, DeprecationWarning)
4
Decorate an entire Python class
>>> @deprecate('0.0.2')
... class Obj(object):
... pass
>>> Obj()
deprecated.py:34: DeprecationWarning: Obj has been deprecated and will be removed in version 0.0.2!
warnings.warn(message, DeprecationWarning)
<__main__.Obj object at 0x7f8ee0f1ead0>
Decorate a Python class method
>>> class Obj(object):
... def __init__(self, v):
... self.v = v
... @deprecate('0.0.3')
... def mul(self, other):
... return self.v * other.v
>>> Obj(2).mul(Obj(3))
deprecated.py:34: DeprecationWarning: mul has been deprecated and will be removed in version 0.0.3!
warnings.warn(message, DeprecationWarning)
6
Decorate a Python class staticmethod
>>> class Obj(object):
... @staticmethod
... @deprecate('0.0.4')
... def sub(a, b):
... return a - b
...
>>> Obj.sub(2, 1)
deprecated.py:34: DeprecationWarning: sub has been deprecated and will be removed in version 0.0.4!
warnings.warn(message, DeprecationWarning)
1
Decorate a Python class classmethod
>>> class Obj(object):
... CONST = 5
... @classmethod
... @deprecate('0.0.5')
... def sub(cls, a):
... return a - cls.CONST
...
>>> Obj().sub(5)
deprecated.py:34: DeprecationWarning: sub has been deprecated and will be removed in version 0.0.5!
warnings.warn(message, DeprecationWarning)
0