Dans pyudev, l'héritage direct de la classe Device depuis collections.abc.Mapping est obsolète et sera supprimé avec la version 1.0. Les accès directs sous forme de dictionnaire (dev.get(...) ou tests de vérité if dev:) déclenchent des DeprecationWarning.
De plus, l'itérateur direct for action, dev in monitor: renvoie un tuple (action, dev), alors que monitor.poll() renvoie directement l'instance Device.
TODO:
[ ] Remplacer tous les dev.get("ID_VAR") par dev.properties.get("ID_VAR") pour les variables Udev.
[ ] Utiliser dev.attributes.get("authorized") pour la lecture/écriture dans sysfs si besoin via pyudev.
[ ] Remplacer les vérifications d'existence if dev: par if dev is not None: pour éviter le cast booléen obsolète.
[ ] Standardiser la boucle d'écoute du démon (while True avec monitor.poll(timeout=1) ou dépaquetage explicite for action, dev in monitor:) ou encore observer = pyudev.MonitorObserver(monitor, callback=on_udev_event). (Lire la doc pyudev)
Potentiels fichiers impactés:
- usb/detect.py
- vm/mount_fs.py
Dans pyudev, l'héritage direct de la classe Device depuis collections.abc.Mapping est obsolète et sera supprimé avec la version 1.0. Les accès directs sous forme de dictionnaire (dev.get(...) ou tests de vérité if dev:) déclenchent des DeprecationWarning.
De plus, l'itérateur direct for action, dev in monitor: renvoie un tuple (action, dev), alors que monitor.poll() renvoie directement l'instance Device.
TODO:
Potentiels fichiers impactés: