20 lines
543 B
Python
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)
|