From f6dbb0419efa1c0fbea503e1bba2771cafb557de Mon Sep 17 00:00:00 2001 From: Sven Augustin Date: Fri, 18 Jun 2021 17:27:44 +0200 Subject: [PATCH] added Deprecator --- adhoc.py | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/adhoc.py b/adhoc.py index f3f4295..fcbf85b 100644 --- a/adhoc.py +++ b/adhoc.py @@ -3,7 +3,7 @@ from time import sleep from epics import PV -#from slic.core.adjustable import Adjustable +from slic.core.adjustable import PVAdjustable from slic.devices.device import Device from slic.devices.simpledevice import SimpleDevice from slic.devices.general.motor import Motor @@ -52,3 +52,31 @@ class TXS(Device): +from colorama import Fore, Style + + +class Deprecator: + + def __init__(self, old_name, new_name): + self._old_name = old_name + self._new_name = new_name + + def __repr__(self): + return "" + + def __getattr__(self, name): + print( + Fore.RED + + f"\"{self._old_name}\" has been renamed \"{self._new_name}\"" + + Style.RESET_ALL + ) + return lambda *args, **kwargs: self._method(self._new_name, name, *args, **kwargs) + + def _method(self, new_name, meth_name, *args, **kwargs): + args = [repr(v) for v in args] + args += [f"{k}={repr(v)}" for k, v in kwargs.items()] + args = ", ".join(args) + print(f"please use the following command instead:\n {new_name}.{meth_name}({args})") + + +