1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
-
- from subprocess import *
- from threading import Thread
- import time
-
- class Modell(Thread):
-
- def __init__(self):
- Thread.__init__(self)
- self.aktiv= True
-
- self.aktiv2 = True
-
- def stop(self):
- print("stop thread")
- self.aktiv = False
-
- def setFunktion(self, func, args=None, kwargs=None):
- self.func = func
- self.args = args or []
- self.kwargs = kwargs or {}
-
- def run(self):
- print("start thread")
- #self.aktiv = True
- t = Thread(target=self.func, args=self.args, kwargs=self.kwargs)
- t.setDaemon(True)
- t.start()
-
- while self.aktiv:
- time.sleep(0.1)
-
- def counter(self):
- n = 0
- while self.aktiv2:
- print(n)
- time.sleep(0.1)
- n = n+1
-
- if not self.aktiv2:
- print("stop")
- break
-
- def stop2(self):
- self.aktiv2 = False
- #self.aktiv = False
-
- def test(self):
- command = ["bash", "meta/dist/Release/openvibe-designer.sh", "--play", "Projekte/OpenViBE_visual_BCI-master/openvibe_visual_bci/p300-visual-1-acquisition.xml", "--no-gui"]
- process = Popen(command, stdout=PIPE, universal_newlines=True)
- while self.aktiv2:
- output = process.stdout.readline()
- print(output.strip())
- x = output.find("Application terminated")
- y = output.find("Error")
- z = output.find("Initialization")
- if(x != -1):
- print("Training finished")
- process.terminate()
- break
- elif(y != -1 ):
- process.terminate()
- break
- if not self.aktiv:
- print("stop")
- break
-
-
- m = Modell()
- m.setFunktion(m.test)
- m.start()
- time.sleep(2)
- m.stop()
- m.join()
- while True:
- pass
-
-
-
|