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:
parent
41c05bed43
commit
a9f8210dc0
1 changed files with 17 additions and 1 deletions
|
@ -136,7 +136,23 @@ class snmp :
|
||||||
def get(self,oid) :
|
def get(self,oid) :
|
||||||
""" Retourne le résultat correspondant à l'oid demandé """
|
""" Retourne le résultat correspondant à l'oid demandé """
|
||||||
return self.__exec('snmpget -O vq %s %s ' % ( self.options, oid ) )
|
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) :
|
def set(self,oid,typ,val) :
|
||||||
""" Change la valeur le l'oid donné.
|
""" Change la valeur le l'oid donné.
|
||||||
type est le type de la valeur
|
type est le type de la valeur
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue