| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- ###############################################################################
- # Compat file to import the correct modules for each platform and python
- # version.
- #
- # author: Thomas Moreau and Olivier grisel
- #
- import sys
- PY3 = sys.version_info[:2] >= (3, 3)
- if PY3:
- import queue
- else:
- import Queue as queue
- if sys.version_info >= (3, 4):
- from multiprocessing.process import BaseProcess
- else:
- from multiprocessing.process import Process as BaseProcess
- # Platform specific compat
- if sys.platform == "win32":
- from .compat_win32 import wait
- else:
- from .compat_posix import wait
- def set_cause(exc, cause):
- exc.__cause__ = cause
- if not PY3:
- # Preformat message here.
- if exc.__cause__ is not None:
- exc.args = ("{}\n\nThis was caused directly by {}".format(
- exc.args if len(exc.args) != 1 else exc.args[0],
- str(exc.__cause__)),)
- return exc
- __all__ = ["queue", "BaseProcess", "set_cause", "wait"]
|