From a9f8210dc03f8fd4623374a888f136f7cb2d888d Mon Sep 17 00:00:00 2001 From: bobot Date: Thu, 27 Jul 2006 09:05:02 +0200 Subject: [PATCH] Ajout dans la classe snmp, d'une fonction qui renvoit toujours le rsultat en String. L'encodage du resultat n'est pas correcte. darcs-hash:20060727070502-9e428-41efa0c12cdb9aaf6fcdef50ef99df52e41b1b4e.gz --- gestion/hptools.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/gestion/hptools.py b/gestion/hptools.py index 58c0939a..2e7d5713 100755 --- a/gestion/hptools.py +++ b/gestion/hptools.py @@ -136,7 +136,23 @@ class snmp : def get(self,oid) : """ Retourne le résultat correspondant à l'oid demandé """ return self.__exec('snmpget -O vq %s %s ' % ( self.options, oid ) ) - + + def get_string(self,oid) : + """ Retourne le resultat convertit en String correspondant à l'oid demandé. Fonctionne avec les types de depart String, Integer, Hex-String. Raise ValueError sinon. """ + s= self.__exec('snmpget -O v %s %s ' % ( self.options, oid ) ) + if s=="\"\"": + return "" + type=s[0:s.find(":")] + var=s[s.find(":")+2:] + if type=="STRING": + return var[1:-1] + elif type=="Hex-STRING": + return var.replace(" ","").decode("hex") + elif type=="INTEGER": + return unicode(var) + else: + raise ValueError('Type inconnu') + def set(self,oid,typ,val) : """ Change la valeur le l'oid donné. type est le type de la valeur