From cf865444a8f2f2125c27ea8b1510b3ba7e9a1d95 Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Tue, 23 Apr 2019 14:51:49 +0200 Subject: [PATCH] python: show warnings for deprecated functions Emit a DeprecationWarning warning when a deprecated function is used, so users have a way to know that they are using one. --- generator/python.ml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/generator/python.ml b/generator/python.ml index 7f409b7cd..74acf5de8 100644 --- a/generator/python.ml +++ b/generator/python.ml @@ -910,6 +910,18 @@ class GuestFS(object): pr " %s = %s.c_pointer()\n" n n ) args; pr " self._check_not_closed()\n"; + (match f.deprecated_by with + | Not_deprecated -> () + | Replaced_by alt -> + pr " import warnings\n"; + pr " warnings.warn(\"use GuestFS.%s() \"\n" alt; + pr " \"instead of GuestFS.%s()\",\n" f.name; + pr " DeprecationWarning, stacklevel=2)\n"; + | Deprecated_no_replacement -> + pr " import warnings\n"; + pr " warnings.warn(\"do not use GuestFS.%s()\",\n" f.name; + pr " DeprecationWarning, stacklevel=2)\n"; + ); let function_string = "self._o" ^ map_join (fun arg -> sprintf ", %s" (name_of_argt arg))