[Toulibre] Kiosque de copie sur clé usb
jeanmichel.123 at free.fr
jeanmichel.123 at free.fr
Mar 23 Mai 09:55:11 CEST 2006
Selon Bruno Coudoin <bruno.coudoin at free.fr>:
> Le lundi 22 mai 2006 à 22:29 +0200, jeanmichel.123 at free.fr a écrit :
> > Selon Bruno Coudoin <bruno.coudoin at free.fr>:
> >
> > >
> >
> > Justement, sur ma machine, le nom du point de montage dépend du label
> associé au
> > système de fichier contenu sur la clef (un peu comme sous windows).
> > Ce qui revien à dire que cette chaine ne devrait peu être pas être
> constante...
> >
> Effectivement, mon approche n'est pas trop compatible.
> Est-ce que le fichier /etc/fstab est modifié. Si c'est le cas, une bonne
> approche est de déduire le montage en regardant la dernière ligne de
> celui ci par exemple.
>
> > > Si ce n'est pas le cas, changer:
> > > MOUNT_POINT="/mnt/removable"
> > >
> > > Et voila, les remarques sont les bienvenues.
> >
> > J'ai essayé de détecter automatiquement le point de montage ajouté
> > automatiquement, mais je n'arrive pas à modifier une variable globale.
> > Le fichier modifié est disponible ci-joint.
> >
> Désolé mais je ne comprend pas votre problème. Pouvez vous me pointer
> sur le problème plus précisément.
L'extrait ci-dessous détecte les partitions removable (au sens présente à
instant donné, mais absente à un instant précédent) (amovible?).
Le problème est que (d'après ce que je comprends), dans la fonction
mount_points_detector, les variables MOUNT_CHECK et MOUNT_POINT semblent être
considérées comme des variables locales, ce qui signifie que je n'arrive pas à
modifier les variables globales de même nom...
WELLKNOWN_MOUNT_POINTS = [ ]
REMOVABLE_MOUNT_POINTS = [ ]
MOUNT_POINT="/mnt/removable"
#initialisation des points de monatges biens connus:
WELLKNOWN_MOUNT_POINTS = mount_points_list ()
def mount_points_detector ():
c = mount_points_list ()
#x = MOUNT_CHECK
for i in WELLKNOWN_MOUNT_POINTS:
if not i in c :
WELLKNOWN_MOUNT_POINTS.remove(i)
for i in REMOVABLE_MOUNT_POINTS:
if not i in c :
REMOVABLE_MOUNT_POINTS.remove(i)
for i in c:
if not i in WELLKNOWN_MOUNT_POINTS :
if not i in REMOVABLE_MOUNT_POINTS :
REMOVABLE_MOUNT_POINTS.append(i)
if len ( REMOVABLE_MOUNT_POINTS) > 0:
MOUNT_POINT = REMOVABLE_MOUNT_POINTS[0]
MOUNT_CHECK = REMOVABLE_MOUNT_POINTS[0]
#x = MOUNT_CHECK
print "mount point set to " + MOUNT_POINT
print "wk:" + str(WELLKNOWN_MOUNT_POINTS)
print "rem:" +str(REMOVABLE_MOUNT_POINTS)
#return MOUNT_CHECK
#return x
Plus d'informations sur la liste de diffusion Toulouse-ll