gotta impl filter
parent
68b6667c76
commit
0f12fbc8c1
|
|
@ -10,11 +10,13 @@ def main():
|
||||||
managerToParserQ = queue.Queue(maxsize=1)
|
managerToParserQ = queue.Queue(maxsize=1)
|
||||||
readerToParserQ = queue.Queue(maxsize=10)
|
readerToParserQ = queue.Queue(maxsize=10)
|
||||||
parserToReactorQ = queue.Queue(maxsize=10)
|
parserToReactorQ = queue.Queue(maxsize=10)
|
||||||
|
reactorToActorQ = queue.Queue(maxsize=10)
|
||||||
threads = [
|
threads = [
|
||||||
Manager(managerToParserQ),
|
Manager(managerToParserQ),
|
||||||
Reader(managerToParserQ, readerToParserQ),
|
Reader(managerToParserQ, readerToParserQ),
|
||||||
Parser(readerToParserQ, parserToReactorQ),
|
Parser(readerToParserQ, parserToReactorQ),
|
||||||
Reactor(parserToReactorQ),
|
Reactor(parserToReactorQ, reactorToActorQ),
|
||||||
|
Actor(reactorToActorQ),
|
||||||
]
|
]
|
||||||
[t.start() for t in threads]
|
[t.start() for t in threads]
|
||||||
[t.join() for t in threads]
|
[t.join() for t in threads]
|
||||||
|
|
@ -86,7 +88,7 @@ class Parser(threading.Thread):
|
||||||
clip = self.inq.get()
|
clip = self.inq.get()
|
||||||
if not clip:
|
if not clip:
|
||||||
break
|
break
|
||||||
self.outq.put(self._run(clip))
|
self.outq.put(self._run(clip).strip())
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
log("Parser.run: error:", e)
|
log("Parser.run: error:", e)
|
||||||
self.outq.put(None)
|
self.outq.put(None)
|
||||||
|
|
@ -98,9 +100,10 @@ class Parser(threading.Thread):
|
||||||
|
|
||||||
|
|
||||||
class Reactor(threading.Thread):
|
class Reactor(threading.Thread):
|
||||||
def __init__(self, inq):
|
def __init__(self, inq, outq):
|
||||||
threading.Thread.__init__(self)
|
threading.Thread.__init__(self)
|
||||||
self.inq = inq
|
self.inq = inq
|
||||||
|
self.outq = outq
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
log("Reactor.run: start")
|
log("Reactor.run: start")
|
||||||
|
|
@ -109,10 +112,28 @@ class Reactor(threading.Thread):
|
||||||
if text is None:
|
if text is None:
|
||||||
break
|
break
|
||||||
self.handle(text)
|
self.handle(text)
|
||||||
|
self.outq.put(None)
|
||||||
log("Reactor.run: stop")
|
log("Reactor.run: stop")
|
||||||
|
|
||||||
def handle(self, text):
|
def handle(self, text):
|
||||||
print(text)
|
print(text)
|
||||||
|
|
||||||
|
class Actor(threading.Thread):
|
||||||
|
def __init__(self, inq):
|
||||||
|
threading.Thread.__init__(self)
|
||||||
|
self.inq = inq
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
log("Actor.run: start")
|
||||||
|
while True:
|
||||||
|
hotword = self.inq.get()
|
||||||
|
if hotword is None:
|
||||||
|
break
|
||||||
|
self.handle(hotword)
|
||||||
|
log("Actor.run: stop")
|
||||||
|
|
||||||
|
def handle(self, hotword):
|
||||||
|
print(hotword)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue