start_hotboards_mzk.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. '''Created May 6, 2021 Levi'''
  2. from threading import Event
  3. from threading import Thread
  4. from time import sleep
  5. import quick_hotkey_mzk # @UnresolvedImport
  6. import mentor_keys_mzk # @UnresolvedImport
  7. import ciel_keys # @UnresolvedImport
  8. import button_keys # @UnresolvedImport
  9. import winmnt_C_LOCK # @UnresolvedImport
  10. import ahk_dec_replace # @UnresolvedImport, @UnusedImport
  11. import setfocus # @UnresolvedImport
  12. def start_thread(target, args=(), name=""):
  13. def thread_function():
  14. while True:
  15. try:
  16. target(*args)
  17. except Exception as e:
  18. print(f"Error in {name}: {e}. Restarting...")
  19. sleep(1) # Optional: add delay before restart
  20. else:
  21. break
  22. thread = Thread(target=thread_function)
  23. thread.start()
  24. return thread
  25. event1 = Event()
  26. event2 = Event()
  27. # thread1 = Thread(target=quick_hotkey_mzk.main)
  28. # thread2 = Thread(target=ciel_keys.main)
  29. # thread3 = Thread(target=button_keys.main)
  30. # thread4 = Thread(target=winmnt_C_LOCK.main, args=(event1,))
  31. # # thread5 = Thread(target=ahk_dec_replace.main, args=(event2,))
  32. # thread6 = Thread(target=mentor_keys_mzk.main)
  33. # thread7 = Thread(target=setfocus.main)
  34. if __name__ == '__main__':
  35. thread1 = start_thread(quick_hotkey_mzk.main, name="quick_hotkey_mzk")
  36. # thread1.start()
  37. print(f'started {quick_hotkey_mzk.main.__doc__}')
  38. # sleep(0.5)
  39. thread2 = start_thread(ciel_keys.main, name="ciel_keys")
  40. # thread2.start()
  41. print(f'started {ciel_keys.main.__doc__}')
  42. # sleep(0.5)
  43. thread3 = start_thread(button_keys.main, name="button_keys")
  44. # thread3.start()
  45. print(f'started {button_keys.main.__doc__}')
  46. # sleep(0.5)
  47. thread4 = start_thread(winmnt_C_LOCK.main, args=(event1,), name="winmnt_C_LOCK")
  48. # thread4.start()
  49. print(f'started {winmnt_C_LOCK.main.__doc__}')
  50. # sleep(0.5)
  51. # thread5.start()
  52. # print(f'started {ahk_dec_replace.main.__doc__}')
  53. thread6 = start_thread(mentor_keys_mzk.main, name="mentor_keys_mzk")
  54. # thread6.start()
  55. print(f'started {mentor_keys_mzk.main.__doc__}')
  56. # thread7.start()
  57. # print(f'started {setfocus.main.__doc__}')
  58. while True:
  59. try:
  60. sleep(1)
  61. except KeyboardInterrupt:
  62. event1.set()
  63. event2.set()
  64. thread1.join()
  65. print(f'stopped {quick_hotkey_mzk.main.__doc__}')
  66. # sleep(0.5)
  67. thread2.join()
  68. print(f'stopped {ciel_keys.main.__doc__}')
  69. # sleep(0.5)
  70. thread3.join()
  71. print(f'stopped {button_keys.main.__doc__}')
  72. # sleep(0.5)
  73. thread4.join()
  74. print(f'stopped {winmnt_C_LOCK.main.__doc__}')
  75. # sleep(0.5)
  76. # thread5.join()
  77. # print(f'stopped {ahk_dec_replace.main.__doc__}')
  78. thread6.join()
  79. print(f'stopped {mentor_keys_mzk.main.__doc__}')
  80. # thread7.join()
  81. # print(f'stopped {setfocus.main.__doc__}')
  82. break