hptools/walk: autorise plusieurs formats d'output
This commit is contained in:
parent
f9646ab6ca
commit
ffaeaaf65a
1 changed files with 10 additions and 5 deletions
|
@ -182,20 +182,25 @@ class snmp :
|
||||||
"""
|
"""
|
||||||
return self.__exec('snmpset -O vq %s %s %s %s' % (self.options, oid, typ, val ) )
|
return self.__exec('snmpset -O vq %s %s %s %s' % (self.options, oid, typ, val ) )
|
||||||
|
|
||||||
def walk(self,base_oid, bin_comp=False) :
|
def walk(self,base_oid, bin_comp=False, output='x'):
|
||||||
""" Retourne le résultat de snmpwalk
|
""" Retourne le résultat de snmpwalk
|
||||||
le retour est un dictionnaire { oid : valeur }
|
le retour est un dictionnaire { oid : valeur }
|
||||||
"""
|
"""
|
||||||
if bin_comp:
|
if bin_comp:
|
||||||
return snmp.bin_walk(self, base_oid)
|
return snmp.bin_walk(self, base_oid)
|
||||||
lignes = self.__exec('snmpwalk -Ox %s %s' % (self.options, base_oid ) ).split('\n')
|
if output not in list('abeEfnqQsStTuUvxX'):
|
||||||
|
output = 'q'
|
||||||
|
lignes = self.__exec('snmpwalk -O%s %s %s' % (output, self.options, base_oid ) ).split('\n')
|
||||||
result = {}
|
result = {}
|
||||||
for ligne in lignes:
|
for ligne in lignes:
|
||||||
try:
|
try:
|
||||||
oid, valeur = ligne.split('Hex-STRING: ')
|
oid, valeur = ligne.split('Hex-STRING: ')
|
||||||
result[oid] = valeur
|
except ValueError:
|
||||||
except:
|
try:
|
||||||
pass
|
oid, valeur = ligne.split(' ', 1)
|
||||||
|
except ValueError:
|
||||||
|
continue
|
||||||
|
result[oid] = valeur
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def bin_walk(self, base_oid):
|
def bin_walk(self, base_oid):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue