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
This commit is contained in:
bobot 2006-07-27 09:05:02 +02:00
parent 41c05bed43
commit a9f8210dc0

View file

@ -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