From 0a1a6e5e178e4da7a4066a49a467328bf50f4ab7 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Thu, 5 Jun 2025 22:57:55 +0200 Subject: [PATCH] log.get_caller_pos(): Fix None module jw-client-devops-web.py [ 29] Exiting jw-client-devops-web.py Exception ignored in: Traceback (most recent call last): File "/home/jan/local/src/jw.dev/proj/jw-client-devops-web/src/python/jw/devops/client/web/cmds/App.py", line 43, in __del__ File "/home/jan/local/src/jw.dev/proj/jw-python/tools/python/jwutils/log.py", line 167, in slog File "/home/jan/local/src/jw.dev/proj/jw-python/tools/python/jwutils/log.py", line 126, in get_caller_pos AttributeError: 'NoneType' object has no attribute '__name__' Signed-off-by: Jan Lindemann --- tools/python/jwutils/log.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/python/jwutils/log.py b/tools/python/jwutils/log.py index 56990a7..f7ad37a 100644 --- a/tools/python/jwutils/log.py +++ b/tools/python/jwutils/log.py @@ -123,8 +123,9 @@ def get_caller_pos(up: int = 1, kwargs: Optional[dict[str, Any]] = None) -> Tupl del kwargs['caller'] return r caller = inspect.stack()[up+1] - mod = inspect.getmodule(caller[0]).__name__ - return (mod, basename(caller.filename), caller.lineno) + mod = inspect.getmodule(caller[0]) + mod_name = '' if mod is None else mod.__name__ + return (mod_name, basename(caller.filename), caller.lineno) def slog_m(prio: int, *args, **kwargs) -> None: # export if prio > _level: