Source code for landlab.grid.warnings

import os

from ..core.messages import deprecation_message


[docs] class DeprecatedSignature(DeprecationWarning): msg = "You are using a deprecated calling signature." def __init__(self, name, old=None, new=None): self._name = name self._old = old self._new = new if old: self._old = self._construct_call(name, self._old[0], self._old[1]) if new: self._new = self._construct_call(name, self._new[0], self._new[1]) @staticmethod def _construct_call(name, args, kwds): signature = ", ".join( [repr(arg) for arg in args] + [f"{k}={repr(v)}" for k, v in kwds.items()] ) return f"{name}({signature})" def __str__(self): if self._new: use = f">>> grid = {self._new}" else: use = None return os.linesep + deprecation_message(self.msg, use=use)