From 52ec693ef7d33d45a46f3f9483596fe684cecb95 Mon Sep 17 00:00:00 2001 From: Alex Willmer Date: Tue, 13 Jan 2026 14:28:07 +0000 Subject: [PATCH] mitogen: Provide mitogen.core exception fallbacks based on sys.version_info Simplify work of static type checkers, LSPs, etc. --- mitogen/core.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/mitogen/core.py b/mitogen/core.py index 731e744d..58ac4104 100644 --- a/mitogen/core.py +++ b/mitogen/core.py @@ -85,6 +85,11 @@ import warnings import weakref import zlib +if sys.version_info >= (3, 6): + ModuleNotFoundError = ModuleNotFoundError +else: + ModuleNotFoundError = ImportError + if sys.version_info > (3,5): from os import get_blocking, set_blocking else: @@ -135,9 +140,11 @@ else: if sys.version_info >= (2, 5): all, any = all, any + BaseException = BaseException def _update_linecache(path, data): pass else: import linecache + BaseException = Exception def _update_linecache(path, data): """ Directly populate the linecache cache for modules loaded by Mitogen. @@ -167,16 +174,6 @@ try: except ImportError: cProfile = None -try: - BaseException -except NameError: - BaseException = Exception - -try: - ModuleNotFoundError -except NameError: - ModuleNotFoundError = ImportError - # TODO: usage of 'import' after setting __name__, but before fixing up # sys.modules generates a warning. This happens when profiling = True. warnings.filterwarnings('ignore',