42 lines
995 B
Python
42 lines
995 B
Python
|
###############################################################################
|
||
|
# 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"]
|