Lifehacking - Wallabag, Liseuse et fainéantise : mon projet. Billet N°3

Ce billet fait suite à mes billets
-Lifehacking - Wallabag, Liseuse et fainéantise : mon projet. Billet N°1
-Lifehacking - Wallabag, Liseuse et fainéantise : mon projet. Billet N°2

Ce billet est un petit billet rapide pour faire avancer le projet et parler de UDev, une fonctionnalité intéressante que l'on pourra utiliser dans d'autres projets et cas d'usage.

Le principe ici est d'automatiser la copie de l'epub récupéré depuis Wallabag (voir billet précédent) au branchement de la liseuse. Pour ce faire, on utilisera un règle Udev.

La règle Udev

Le principe : le noyau linux détecte un périphérique USB lors de son branchement, lit son numéro de série et lance alors une commande définie comme règle udev.

Il faut tout d'abord identifier la liseuse (qui est reconnue comme un stockage de masse, une sorte de clef USB si vous voulez)
#Identify the usb key specificites (serial numer etc…)

$ udevadm info -a -p $(udevadm info -q path -n /dev/sdb)

Ce qui donne tout un tas de ligne dont les lignes intéressantes :

looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-2':
(...)
ATTRS{idProduct}=="a4a5"
ATTRS{idVendor}=="0525"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Bookeen"
ATTRS{maxchild}=="0"
ATTRS{product}=="Cybook"
(...)

Cette commande nous donne des codes uniques qui seront discriminants et qui seront utilisé pour la règle UDEV

# UDEV rules to setup automatic backup upon disk insertion
# You can get the discriminant informations with the following command :
# udevinfo -a -p $(udevinfo -q path -n /dev/sdb)
# Backup - Rule for the hard disk that will backup video files
#Create a udev rules /etc/udev/rules.d/50-backup.rules
KERNEL=="sdb", ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{manufacturer}=="Bookeen", ATTRS{product}=="Cybook", RUN+="/home/genma/RecupEpubDeWallabag.sh %k"

RecupEpubDeWallabag.sh

RecupEpubDeWallabag.sh est un script shell basique qui est appelé par la règle Udev. Il lance le script de récupération de l'epub, le copie sur la liseuse Booken et démonte celle-ci proprement. On peut ajouter l'affichage d'un message, envoit d'un mail ou autre pour prévenir que la copie de l'Epub s'est bien faite.

TODO : faire un script propre et le mettre sur le framagit :)

Vus : 292
Publié par genma : 387