main.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #!/usr/bin/env python3
  2. from keyboard import Keyboard
  3. from sock import Sock
  4. from clock import Clock
  5. from slides import Slides
  6. from preguntas import Preg
  7. from enum import Enum
  8. #from websocket import ws
  9. import time
  10. import signal
  11. import sys
  12. def signal_handler(signal, frame):
  13. print('You pressed Ctrl+C!')
  14. sys.exit(0)
  15. class Mode(Enum):
  16. diapo = 0
  17. preg = 1
  18. class Main(object):
  19. def __init__(self):
  20. self.mode = Mode.diapo
  21. self.s = Sock()
  22. self.s.setDaemon(True)
  23. self.s.start()
  24. time.sleep(0.5)
  25. self.k = Keyboard(self.next,self.prev,self.toggle)
  26. self.k.setDaemon(True)
  27. #self.ws = Websocket()
  28. self.c = Clock(self.timerTick)
  29. self.c.setDaemon(True)
  30. self.slides = Slides("../node/")
  31. self.preg = Preg()
  32. #self.ws.start()
  33. self.k.start()
  34. self.c.start()
  35. signal.signal(signal.SIGINT, signal_handler)
  36. print('Running. Exit with Ctrl-C')
  37. signal.pause()
  38. def next(self):
  39. print("next")
  40. if self.mode == Mode.diapo:
  41. self.s.send(self.slides.next())
  42. def prev(self):
  43. print("prev")
  44. if self.mode == Mode.diapo:
  45. self.s.send(self.slides.prev())
  46. def toggle(self):
  47. print("toggle")
  48. if self.mode == Mode.diapo:
  49. if len(self.preg.preg) == 0:
  50. print("NO preg")
  51. return
  52. self.mode = Mode.preg
  53. self.s.send(self.preg.cur())
  54. else:
  55. self.mode = Mode.diapo
  56. self.s.send(self.slides.cur())
  57. def timerTick(self,data):
  58. print(data)
  59. m = Main()