over/core/aux.py
2015-06-09 09:48:55 +02:00

20 lines
543 B
Python

#! /bin/env python3
# encoding: utf-8
import sys
import traceback
from . import text
_print = text.Output('over.core', stream=sys.stderr)
class DeprecationForwarder:
def __init__(self, target, old_name, new_name):
self._target = target
self._old_name = old_name
self._new_name = new_name
def __getattr__(self, name):
caller = traceback.extract_stack()[-2]
_print('%s is deprecated, please use %s instead (%s:%d)' %(self._old_name, self._new_name, caller[0], caller[1]), text.prefix.warn)
return getattr(self._target, name)