#!/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()