From d140b8ec24507ef67ef8deac03459e3ef06c3f3d Mon Sep 17 00:00:00 2001 From: Syrus Akbary Date: Sat, 29 Apr 2017 17:15:55 -0700 Subject: [PATCH] Removed ThreadScheduler as normal requirement Some environments could have threading disabled, and therefore the threading import can resolve in an error. This commit fixes that :) --- promise/__init__.py | 6 +++++- promise/scheduler.py | 9 --------- promise/thread_scheduler.py | 7 +++++++ 3 files changed, 12 insertions(+), 10 deletions(-) create mode 100644 promise/thread_scheduler.py diff --git a/promise/__init__.py b/promise/__init__.py index 03cb6ad..bfd81a1 100644 --- a/promise/__init__.py +++ b/promise/__init__.py @@ -24,7 +24,11 @@ get_default_scheduler, set_default_scheduler ) - from .scheduler import SyncScheduler, ThreadScheduler + from .scheduler import SyncScheduler + try: + from .thread_sheduler import ThreadScheduler + except ImportError: + ThreadScheduler = None __all__ = [ 'Promise', diff --git a/promise/scheduler.py b/promise/scheduler.py index 015a909..766cde3 100644 --- a/promise/scheduler.py +++ b/promise/scheduler.py @@ -1,15 +1,6 @@ -from threading import Thread - - class SyncScheduler(object): def call(self, fn): try: fn() except: pass - - -class ThreadScheduler(object): - def call(self, fn): - thread = Thread(target=fn) - thread.start() diff --git a/promise/thread_scheduler.py b/promise/thread_scheduler.py new file mode 100644 index 0000000..ea9ed41 --- /dev/null +++ b/promise/thread_scheduler.py @@ -0,0 +1,7 @@ +from threading import Thread + + +class ThreadScheduler(object): + def call(self, fn): + thread = Thread(target=fn) + thread.start()