Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/04/2013, à 09:45

Pierre771

[Résolu] Erreur 17 dans script Python wicd daemon

Bonjour

en essayant d'exécuter wicd après l'avoir installé, je tombe sur cette erreur 17 dans ce script écrit en python Il doit y avoir un moyen de capturer cette erreur : j'ai bien vu quelque chose sur le net mais je ne domine pas ce langage.

Pourriez-vous l'indiquer comment coder cela, svp merci

Message d'erreur :

pierre@pierre-K73SV:~$ sudo wicd
Traceback (most recent call last):  
File "/usr/share/wicd/daemon/wicd-daemon.py", line 1859, in <module>
    main(sys.argv)  
File "/usr/share/wicd/daemon/wicd-daemon.py", line 1708, in main
    os.symlink(dest, backup_location)
OSError: [Errno 17] File exists
pierre@pierre-K73SV:~$

Script : /usr/share/wicd/daemon/wicd-daemon.py

......

def main(argv):                                                        
    """ The main daemon program.                                       
                                                                       
    Keyword arguments:                                                 
    argv -- The arguments passed to the script.                        
                                                                       
    """                                                                
    # back up resolv.conf before we do anything else                   
    try:                                                               
        backup_location = wpath.varlib + 'resolv.conf.orig'            
        # don't back up if .orig exists, probably there cause          
        # wicd exploded                                                
        if not os.path.exists(backup_location):                        
            if os.path.islink('/etc/resolv.conf'):                     
                dest = os.readlink('/etc/resolv.conf')                 
                os.symlink(dest, backup_location)                      
            else:                                                      
                shutil.copy2('/etc/resolv.conf', backup_location)      
            os.chmod(backup_location, 0644)                            
    except IOError:                                                    
        print 'error backing up resolv.conf'                           
                                                                  
.........

if __name__ == '__main__':                                                        
    if os.getuid() != 0:                                                          
        print ("Root privileges are required for the daemon to run properly." +   
               "  Exiting.")                                                      
        sys.exit(1)                                                               
    gobject.threads_init()                                                        
    main(sys.argv)                                                                

Dernière modification par Pierre771 (Le 25/04/2013, à 05:01)


C'est trop injuste !
Mes configs
Asus X73S - Windows 10 famille 64 bits + Manjaro KDE - Intel core i5 2,4 Ghz - Intel Graphics 3000 + GEFORCE GT 540M (Optimus) - 600 Go + 600 Go - RAM 10 Go - Ecran 1600x900

Hors ligne

#2 Le 24/04/2013, à 11:16

pingouinux

Re : [Résolu] Erreur 17 dans script Python wicd daemon

Bonjour,

                try: os.symlink(dest, backup_location)
                except OSError:
                   sys.stderr.write("Erreur : dest=%s backup_location=%s\n"%(dest,backup_location))
                   raise

Hors ligne

#3 Le 24/04/2013, à 11:32

Pierre771

Re : [Résolu] Erreur 17 dans script Python wicd daemon

Merci !

Et pour la 2ème ? (tout en bas du script), main(sys.argv) ?

               

                try: main(sys.argv) 
                except OSError:
                   sys.stderr.write("Erreur : dest=%s backup_location=%s\n"%(dest,backup_location))
                   raise

?


Merci !

Dernière modification par Pierre771 (Le 24/04/2013, à 11:33)


C'est trop injuste !
Mes configs
Asus X73S - Windows 10 famille 64 bits + Manjaro KDE - Intel core i5 2,4 Ghz - Intel Graphics 3000 + GEFORCE GT 540M (Optimus) - 600 Go + 600 Go - RAM 10 Go - Ecran 1600x900

Hors ligne

#4 Le 24/04/2013, à 11:51

pingouinux

Re : [Résolu] Erreur 17 dans script Python wicd daemon

Et pour la 2ème ? (tout en bas du script), main(sys.argv) ?

Ce n'est pas une autre erreur, mais la chaîne des appels qui est listée.

Ce que j'ai fait en #2, c'est imprimer le nom des variables en cause, et relancer l'erreur (raise) pour arrêter le programme. À la place, tu peux faire le traitement de ton choix.

Hors ligne

#5 Le 24/04/2013, à 13:56

Pierre771

Re : [Résolu] Erreur 17 dans script Python wicd daemon

Merci mais c'est casse-pieds quand on ne connaît pas le langage

Aux deux endroits (lignes 1708 et 1859) je voudrais continuer le traitement, tout simplement


C'est trop injuste !
Mes configs
Asus X73S - Windows 10 famille 64 bits + Manjaro KDE - Intel core i5 2,4 Ghz - Intel Graphics 3000 + GEFORCE GT 540M (Optimus) - 600 Go + 600 Go - RAM 10 Go - Ecran 1600x900

Hors ligne

#6 Le 24/04/2013, à 14:04

pingouinux

Re : [Résolu] Erreur 17 dans script Python wicd daemon

Aux deux endroits (lignes 1708 et 1859) je voudrais continuer le traitement, tout simplement

Pour ne pas s'arrêter, il suffit de supprimer la ligne

                   raise

mais il faut être sûr de ce que tu fais. D'une manière générale, il est préférable de remédier à la cause de l'erreur avant de continuer.

Hors ligne

#7 Le 25/04/2013, à 05:00

Pierre771

Re : [Résolu] Erreur 17 dans script Python wicd daemon

Merci pour l'aide


C'est trop injuste !
Mes configs
Asus X73S - Windows 10 famille 64 bits + Manjaro KDE - Intel core i5 2,4 Ghz - Intel Graphics 3000 + GEFORCE GT 540M (Optimus) - 600 Go + 600 Go - RAM 10 Go - Ecran 1600x900

Hors ligne