Source code for wyrm.misc
"""Miscellaneous Helper Methods.
"""
import logging
from functools import wraps
logger = logging.getLogger(__name__)
[docs]class deprecated(object):
"""Mark a method deprecated
This method is used internally to mark methods as deprecated.
Deprecated methods will print a warning when used but will otherwise
function as usual.
Parameters
----------
since : str
The version number that introduced the deprecation of the
method.
alternative : str, optional
The method that should be used instead.
"""
def __init__(self, since, alternative=None):
self.since = since
self.alternative = alternative
def __call__(self, f):
msg = "{f} is deprecated since version {v}.".format(f=f.__name__, v=self.since)
if self.alternative is not None:
msg2 = " Please use {f} instead.".format(f=self.alternative)
msg = msg + msg2
@wraps(f)
def wrapped_f(*args, **kwargs):
logger.warn(msg)
return f(*args, **kwargs)
return wrapped_f