inherit the Scheduler class' threads based event loop
This commit is contained in:
parent
1795d16112
commit
31433c1610
1 changed files with 5 additions and 8 deletions
|
|
@ -18,9 +18,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import sched
|
|
||||||
import time
|
|
||||||
import select
|
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from weboob import Weboob
|
from weboob import Weboob
|
||||||
|
|
@ -34,18 +31,18 @@ __all__ = ['PromptApplication']
|
||||||
|
|
||||||
class PromptScheduler(Scheduler):
|
class PromptScheduler(Scheduler):
|
||||||
def __init__(self, prompt_cb, read_cb):
|
def __init__(self, prompt_cb, read_cb):
|
||||||
self.scheduler = sched.scheduler(time.time, self.sleep)
|
Scheduler.__init__(self)
|
||||||
self.read_cb = read_cb
|
self.read_cb = read_cb
|
||||||
self.prompt_cb = prompt_cb
|
self.prompt_cb = prompt_cb
|
||||||
|
|
||||||
def sleep(self, d):
|
def run(self):
|
||||||
self.prompt_cb()
|
|
||||||
try:
|
try:
|
||||||
read, write, excepts = select.select([sys.stdin], [], [], d or None)
|
while not self.stop_event.isSet():
|
||||||
if read:
|
self.prompt_cb()
|
||||||
line = sys.stdin.readline()
|
line = sys.stdin.readline()
|
||||||
if not line:
|
if not line:
|
||||||
self.want_stop()
|
self.want_stop()
|
||||||
|
sys.stdout.write('\n')
|
||||||
else:
|
else:
|
||||||
self.read_cb(line.strip())
|
self.read_cb(line.strip())
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue