Initial main impl with disk poll thread
This commit is contained in:
38
main.py
38
main.py
@@ -1,7 +1,18 @@
|
||||
from queue import Queue
|
||||
from time import sleep
|
||||
from typing import final
|
||||
import pyudev
|
||||
from gpiozero import Device
|
||||
from gpiozero.pins.mock import MockFactory
|
||||
from gpiozero import LED
|
||||
from threading import Thread, Event
|
||||
|
||||
red = LED(17)
|
||||
yellow = LED(27)
|
||||
blue = LED(22)
|
||||
|
||||
|
||||
def main() -> None:
|
||||
def diskPollWorker(stopEvent: Event, eventQueue: Queue) -> None:
|
||||
context = pyudev.Context()
|
||||
|
||||
monitor = pyudev.Monitor.from_netlink(context)
|
||||
@@ -22,6 +33,31 @@ def main() -> None:
|
||||
print("\nDisk disconnected")
|
||||
print(f"Name: {device.sys_name}")
|
||||
|
||||
if stopEvent.is_set():
|
||||
return
|
||||
|
||||
|
||||
def main() -> None:
|
||||
try:
|
||||
stopEvent = Event()
|
||||
diskEventQueue = Queue()
|
||||
|
||||
diskPollThread = Thread(
|
||||
target=diskPollWorker,
|
||||
name="disk_poll_thread",
|
||||
args=(stopEvent, diskEventQueue),
|
||||
daemon=True,
|
||||
)
|
||||
|
||||
diskPollThread.start()
|
||||
|
||||
while True:
|
||||
sleep(1)
|
||||
|
||||
finally:
|
||||
stopEvent.set()
|
||||
return
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user