| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #!/usr/bin/env python3
- from keyboard import Keyboard
- from sock import Sock
- from clock import Clock
- from slides import Slides
- from preguntas import Preg
- from enum import Enum
- from websocket import Websocket
- import time
- import signal
- import sys
- def signal_handler(signal, frame):
- print('Interrupted. Exiting')
- sys.exit(0)
- class Mode(Enum):
- diapo = 0
- preg = 1
- class Main(object):
- def __init__(self):
- self.mode = Mode.diapo
- self.s = Sock()
- self.s.setDaemon(True)
- self.s.start()
- time.sleep(0.5)
- self.k = Keyboard(self.next,self.prev,self.toggle)
- self.k.setDaemon(True)
-
- self.c = Clock(self.timerTick)
- self.c.setDaemon(True)
-
- self.ws = Websocket(self.add_question, self.handle_diapo,self.handle_rec,self.toggle,self.handle_video)
- self.ws.setDaemon(True)
- self.slides = Slides("../node/")
- self.preg = Preg()
- self.ws.start()
- self.k.start()
- self.c.start()
-
- signal.signal(signal.SIGINT, signal_handler)
- print('Running. Exit with Ctrl-C')
- signal.pause()
- def add_question(self,question):
- pass
- def handle_diapo(self,data):
- pass
- def handle_rec(self,data):
- pass
- def handle_video(self,data):
- pass
- def next(self):
- if self.mode == Mode.diapo:
- self.s.send(self.slides.next())
- def prev(self):
- if self.mode == Mode.diapo:
- self.s.send(self.slides.prev())
- def toggle(self):
- if self.mode == Mode.diapo:
- if len(self.preg.preg) == 0:
- print("NO preg")
- return
- self.mode = Mode.preg
- self.s.send(self.preg.cur())
- else:
- self.mode = Mode.diapo
- self.s.send(self.slides.cur())
- def timerTick(self,data):
- self.s.send(dict(type="time",time=data))
- m = Main()
|