Fix _logger property might be None in Session (#1412)
Some checks failed
CodeQL / Analyze (python) (push) Has been cancelled

* fix: ensure _logger is not None in Session

This ensures that the module does not crash in case the logger was called when verbosity was not defined. The old behaviour caused it to crash since _logger was None, but was still called anyways.

* Default to existing logger before setting up
This commit is contained in:
AbdulHamid Merii 2025-05-13 18:19:25 +01:00 committed by GitHub
parent 4d6b54d51a
commit 37ea48b619
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -154,9 +154,10 @@ class Session(TokenManager):
self.__class__._sessions_weakrefs.append(weakref.ref(self)) self.__class__._sessions_weakrefs.append(weakref.ref(self))
self._verbose = verbose if verbose is not None else ENV_VERBOSE.get() self._verbose = verbose if verbose is not None else ENV_VERBOSE.get()
self._logger = logger if logger is not None:
if self._verbose and not self._logger: self._logger = logger
level = resolve_logging_level(ENV_VERBOSE.get(converter=str)) else:
level = resolve_logging_level(ENV_VERBOSE.get(converter=str)) if self._verbose else logging.INFO
self._logger = get_logger(level=level, stream=sys.stderr if level is logging.DEBUG else None) self._logger = get_logger(level=level, stream=sys.stderr if level is logging.DEBUG else None)
self.__worker = worker or self.get_worker_host_name() self.__worker = worker or self.get_worker_host_name()
self.client = ", ".join("{}-{}".format(*x) for x in self._client) self.client = ", ".join("{}-{}".format(*x) for x in self._client)