'Get as many of the platform-specific error translation objects as
possible and return an instance of C{cls} created with them.'

def fromEnvironment(cls):

    try:
        from ctypes import WinError
    except ImportError:
        WinError = None
    try:
        from win32api import FormatMessage
    except ImportError:
        FormatMessage = None
    try:
        from socket import errorTab
    except ImportError:
        errorTab = None
    return cls(WinError, FormatMessage, errorTab)
