Open nviennot opened 5 years ago
Cette modification provoque une régression sur ma machine (Linux Debian), mon Micro:Bit n'est plus détecté. Cela est dû à une mauvaise expression régulière, AMHA.
Il faudrait utiliser
re.match(r'^\S+ on (.*MICROBIT\s?([0-9]+)?)', line)
à la place de
re.match(r'^[^ ]+ on (.*MICROBIT+( [0-9]+)?)', line)
ici r'^\S+ on (.*MICROBIT( [0-9]+)?)'
fonctionne, mais pas celle que tu as proposé.
Essaie de faire un mv /mnt/MICROBIT "/mnt/MICROBIT 1"
pour tester
Bizarre ...
>>> re.match(r'^\S+ on (.*MICROBIT\s?([0-9]+)?)', '/dev/sdb1 on /mnt/MICROBIT 1').group(1)
'/mnt/MICROBIT 1'
Quelle est la ligne correspondant au Microbit dans la sortie de l'appel à mount ?
>>> import re
>>> line = "/dev/disk2 on /Volumes/MICROBIT 1 (msdos, local, nodev, nosuid, noowners)"
>>> re.match(r'^\S+ on (.*MICROBIT\s?([0-9]+)?)', line).group(1)
'/Volumes/MICROBIT 1'
>>> line = "/dev/disk2 on /Volumes/MICROBIT (msdos, local, nodev, nosuid, noowners)"
>>> re.match(r'^\S+ on (.*MICROBIT\s?([0-9]+)?)', line).group(1)
'/Volumes/MICROBIT '
>>>
Sur le 2eme example, l'espace en trop est un problème.
Je vois, donc la regexp suivante devrait résoudre le problème:
re.match(r'^\S+ on (.*MICROBIT(\s?[0-9]+)?)', line).group(1)
C'est beau
On MacOS, the volume names can have spaces (e.g., "MICROBIT 1")