def _getBuiltinExceptionNames(): def isExceptionName(builtin_name): if builtin_name.endswith("Error") or \ builtin_name.endswith("Exception"): return True elif builtin_name in ("StopIteration", "GeneratorExit", "SystemExit", "NotImplemented", "KeyboardInterrupt", "StopAsyncIteration"): return True else: return False # Hide Python3 changes for built-in exception names try: import exceptions names = [ str(name) for name in dir(exceptions) if isExceptionName(name) ] values = {} for key in names: values[key] = getattr(exceptions, key) for key in dir(sys.modules["__builtin__"]): name = str(key) if isExceptionName(name): names.append(key) values[name] = getattr(sys.modules["__builtin__"], key) except ImportError: exceptions = {} for key, value in sys.modules["builtins"].__dict__.items(): if isExceptionName(key): exceptions[key] = value names = [ key for key, value in exceptions.items() ] values = {} for key, value in exceptions.items(): values[key] = value return names, values
def _getBuiltinExceptionNames(): def isExceptionName(builtin_name): if builtin_name.endswith("Error") or \ builtin_name.endswith("Exception"): return True elif builtin_name in ("StopIteration", "GeneratorExit", "SystemExit", "NotImplemented", "KeyboardInterrupt"): return True else: return False # Hide Python3 changes for built-in exception names try: import exceptions names = [ str(name) for name in dir(exceptions) if isExceptionName(name) ] values = {} for key in names: values[key] = getattr(exceptions, key) for key in dir(sys.modules["__builtin__"]): name = str(key) if isExceptionName(name): names.append(key) values[name] = getattr(sys.modules["__builtin__"], key) except ImportError: exceptions = {} for key, value in sys.modules["builtins"].__dict__.items(): if isExceptionName(key): exceptions[key] = value names = [ key for key, value in exceptions.items() ] values = {} for key, value in exceptions.items(): values[key] = value return names, values