Spaces:
Running
Running
| """ | |
| modules/device_watch.py — USB / removable drive detector | |
| """ | |
| import os | |
| import string | |
| import time | |
| from config import USB_INTERVAL | |
| def _get_drives() -> set: | |
| drives = set() | |
| for letter in string.ascii_uppercase: | |
| path = f"{letter}:\\" | |
| if os.path.exists(path): | |
| drives.add(path) | |
| return drives | |
| def watch_usb(speak): | |
| known = _get_drives() | |
| while True: | |
| time.sleep(USB_INTERVAL) | |
| now = _get_drives() | |
| added = now - known | |
| removed = known - now | |
| for drive in added: | |
| speak(f"External device connected on {drive[0]} drive.") | |
| for drive in removed: | |
| speak(f"Device on {drive[0]} drive removed.") | |
| known = now |