From 660bae4bf0fa75ea9c8869de29dd64da35d0aa4b Mon Sep 17 00:00:00 2001 From: Martinez Date: Mon, 8 Jun 2015 16:34:44 +0200 Subject: [PATCH 1/2] add over.core.aux.DeprecationForwarder add deprecation warning for over.core.textui --- core/__init__.py | 3 ++- core/aux.py | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/core/__init__.py b/core/__init__.py index 13db0b4..5af8516 100644 --- a/core/__init__.py +++ b/core/__init__.py @@ -7,10 +7,11 @@ from . import cmd from . import file from . import misc from . import text -textui = text try: from . import cython_types as types except: aux._print('unable to load C implementation, using python instead', text.prefix.warn) from . import python_types as types + +textui = aux.DeprecationForwarder(text, 'over.core.textui', 'over.core.text') diff --git a/core/aux.py b/core/aux.py index 53d020a..3de5e48 100644 --- a/core/aux.py +++ b/core/aux.py @@ -6,3 +6,13 @@ import sys 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): + _print('%s is deprecated, please use %s instead' %(self.old_name, self.new_name), text.prefix.warn) + return getattr(self.target, name) From 022e88be4f989c04f890b6200b145f1defd349ce Mon Sep 17 00:00:00 2001 From: Martinez Date: Mon, 8 Jun 2015 16:35:50 +0200 Subject: [PATCH 2/2] hide internals in over.core.aux.DeprecationForwarder --- core/aux.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/core/aux.py b/core/aux.py index 3de5e48..06f4d1e 100644 --- a/core/aux.py +++ b/core/aux.py @@ -9,10 +9,10 @@ _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 + self._target = target + self._old_name = old_name + self._new_name = new_name def __getattr__(self, name): - _print('%s is deprecated, please use %s instead' %(self.old_name, self.new_name), text.prefix.warn) - return getattr(self.target, name) + _print('%s is deprecated, please use %s instead' %(self._old_name, self._new_name), text.prefix.warn) + return getattr(self._target, name)