""" 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