[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