From d36c9834612a35cdeb84f43e6609ff5021c5f235 Mon Sep 17 00:00:00 2001 From: Benjamin S Wolf Date: Fri, 29 Nov 2024 11:40:02 -0800 Subject: [PATCH] Core: Log warnings at call site, not Utils itself (#4229) --- Utils.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Utils.py b/Utils.py index 4e8d7fc4..f5c6ca64 100644 --- a/Utils.py +++ b/Utils.py @@ -858,11 +858,10 @@ def async_start(co: Coroutine[None, None, typing.Any], name: Optional[str] = Non task.add_done_callback(_faf_tasks.discard) -def deprecate(message: str): +def deprecate(message: str, add_stacklevels: int = 0): if __debug__: raise Exception(message) - import warnings - warnings.warn(message) + warnings.warn(message, stacklevel=2 + add_stacklevels) class DeprecateDict(dict): @@ -876,10 +875,9 @@ class DeprecateDict(dict): def __getitem__(self, item: Any) -> Any: if self.should_error: - deprecate(self.log_message) + deprecate(self.log_message, add_stacklevels=1) elif __debug__: - import warnings - warnings.warn(self.log_message) + warnings.warn(self.log_message, stacklevel=2) return super().__getitem__(item)