start_hotboards_ab.py 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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_ab # @UnresolvedImport
  6. import mentor_keys_ab # @UnresolvedImport
  7. import button_keys # @UnresolvedImport
  8. import winmnt_C_LOCK # @UnresolvedImport
  9. import setfocus # @UnresolvedImport
  10. def start_thread(target, args=(), name=""):
  11. def thread_function():
  12. while True:
  13. try:
  14. target(*args)
  15. except Exception as e:
  16. print(f"Error in {name}: {e}. Restarting...")
  17. sleep(1) # Optional: add delay before restart
  18. else:
  19. break
  20. thread = Thread(target=thread_function)
  21. thread.start()
  22. return thread
  23. event1 = Event()
  24. # thread1 = Thread(target=quick_hotkey_ab.main)
  25. # thread2 = Thread(target=mentor_keys_ab.main)
  26. # thread4 = Thread(target=winmnt_C_LOCK.main, args=(event1,))
  27. # # thread5 = Thread(target=button_keys.main)
  28. # # thread7 = Thread(target=setfocus.main)
  29. # # thread5 = Thread(target=ahk_dec_replace.main, args=(event2,))
  30. if __name__ == '__main__':
  31. thread1 = start_thread(quick_hotkey_ab.main, name="quick_hotkey_ab")
  32. # thread1.start()
  33. print(f'started {quick_hotkey_ab.main.__doc__}')
  34. # sleep(0.5)
  35. thread2 = start_thread(mentor_keys_ab.main, name="mentor_keys")
  36. # thread2.start()
  37. print(f'started {mentor_keys_ab.main.__doc__}')
  38. # sleep(0.5)
  39. thread4 = start_thread(winmnt_C_LOCK.main, args=(event1,), name="winmnt_C_LOCK")
  40. # thread4.start()
  41. print(f'started {winmnt_C_LOCK.main.__doc__}')
  42. # thread5.start()
  43. # print(f'started {button_keys.main.__doc__}')
  44. # thread7.start()
  45. # print(f'started {setfocus.main.__doc__}')
  46. # sleep(0.5)
  47. # thread5.start()
  48. # print(f'started {ahk_dec_replace.main.__doc__}')
  49. while True:
  50. try:
  51. sleep(1)
  52. except KeyboardInterrupt:
  53. event1.set()
  54. # event2.set()
  55. thread1.join()
  56. print(f'stopped {quick_hotkey_ab.main.__doc__}')
  57. # sleep(0.5)
  58. thread2.join()
  59. print(f'stopped {mentor_keys_ab.main.__doc__}')
  60. # sleep(0.5)
  61. thread4.join()
  62. print(f'stopped {winmnt_C_LOCK.main.__doc__}')
  63. # thread5.join()
  64. # print(f'stopped {button_keys.main.__doc__}')
  65. # thread7.join()
  66. # print(f'stopped {setfocus.main.__doc__}')
  67. # sleep(0.5)
  68. # thread5.join()
  69. # print(f'stopped {ahk_dec_replace.main.__doc__}')
  70. break