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