David 10 лет назад
Родитель
Сommit
523ed54102
1 измененных файлов с 17 добавлено и 4 удалено
  1. 17 4
      client/main.py

+ 17 - 4
client/main.py

@@ -7,6 +7,12 @@ from preguntas import Preg
 from enum import Enum
 from enum import Enum
 #from websocket import ws
 #from websocket import ws
 import time
 import time
+import signal
+import sys
+
+def signal_handler(signal, frame):
+    print('You pressed Ctrl+C!')
+    sys.exit(0)
 
 
 class Mode(Enum):
 class Mode(Enum):
     diapo = 0
     diapo = 0
@@ -16,23 +22,27 @@ class Main(object):
     def __init__(self):
     def __init__(self):
         self.mode = Mode.diapo
         self.mode = Mode.diapo
         self.s = Sock()
         self.s = Sock()
+        self.s.setDaemon(True)
         self.s.start()
         self.s.start()
         time.sleep(0.5)
         time.sleep(0.5)
         self.k = Keyboard(self.next,self.prev,self.toggle)
         self.k = Keyboard(self.next,self.prev,self.toggle)
+        self.k.setDaemon(True)
     
     
         #self.ws = Websocket()
         #self.ws = Websocket()
         self.c = Clock(self.timerTick)
         self.c = Clock(self.timerTick)
+        self.c.setDaemon(True)
     
     
         self.slides = Slides("../node/")
         self.slides = Slides("../node/")
         self.preg = Preg()
         self.preg = Preg()
 
 
         #self.ws.start()
         #self.ws.start()
+
         self.k.start()
         self.k.start()
         self.c.start()
         self.c.start()
-    
-        self.k.join() #?
-        self.c.join()
-        self.s.join()
+        
+        signal.signal(signal.SIGINT, signal_handler)
+        print('Running. Exit with Ctrl-C')
+        signal.pause()
 
 
     def next(self):
     def next(self):
         print("next")
         print("next")
@@ -47,6 +57,9 @@ class Main(object):
     def toggle(self):
     def toggle(self):
         print("toggle")
         print("toggle")
         if self.mode == Mode.diapo:
         if self.mode == Mode.diapo:
+            if len(self.preg.preg) == 0:
+                print("NO preg")
+                return
             self.mode = Mode.preg
             self.mode = Mode.preg
             self.s.send(self.preg.cur())
             self.s.send(self.preg.cur())
         else:
         else: