def _import_symbols(prefix): for n in dir(_ssl): if n.startswith(prefix): globals()[n] = getattr(_ssl, n) _import_symbols('OP_') _import_symbols('ALERT_DESCRIPTION_') _import_symbols('SSL_ERROR_') from _ssl import HAS_SNI, HAS_ECDH, HAS_NPN from _ssl import _OPENSSL_API_VERSION _SSLMethod = _IntEnum('_SSLMethod', {name: value for name, value in vars(_ssl).items() if name.startswith('PROTOCOL_')}) globals().update(_SSLMethod.__members__) _PROTOCOL_NAMES = {value: name for name, value in _SSLMethod.__members__.items()} try: _SSLv2_IF_EXISTS = PROTOCOL_SSLv2 except NameError: _SSLv2_IF_EXISTS = None if sys.platform == "win32": from _ssl import enum_certificates, enum_crls from socket import socket, AF_INET, SOCK_STREAM, create_connection from socket import SOL_SOCKET, SO_TYPE
for n in dir(_ssl): if n.startswith(prefix): globals()[n] = getattr(_ssl, n) _import_symbols('OP_') _import_symbols('ALERT_DESCRIPTION_') _import_symbols('SSL_ERROR_') from _ssl import HAS_SNI, HAS_ECDH, HAS_NPN from _ssl import _OPENSSL_API_VERSION _SSLMethod = _IntEnum( '_SSLMethod', { name: value for name, value in vars(_ssl).items() if name.startswith('PROTOCOL_') }) globals().update(_SSLMethod.__members__) _PROTOCOL_NAMES = { value: name for name, value in _SSLMethod.__members__.items() } try: _SSLv2_IF_EXISTS = PROTOCOL_SSLv2 except NameError: _SSLv2_IF_EXISTS = None if sys.platform == "win32":
import _signal from _signal import * from functools import wraps as _wraps from enum import IntEnum as _IntEnum _globals = globals() Signals = _IntEnum( 'Signals', {name: value for name, value in _globals.items() if name.isupper() and (name.startswith('SIG') and not name.startswith('SIG_')) or name.startswith('CTRL_')}) class Handlers(_IntEnum): SIG_DFL = _signal.SIG_DFL SIG_IGN = _signal.SIG_IGN _globals.update(Signals.__members__) _globals.update(Handlers.__members__) if 'pthread_sigmask' in _globals: class Sigmasks(_IntEnum): SIG_BLOCK = _signal.SIG_BLOCK SIG_UNBLOCK = _signal.SIG_UNBLOCK SIG_SETMASK = _signal.SIG_SETMASK _globals.update(Sigmasks.__members__) def _int_to_enum(value, enum_klass):