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 ) )
|
||||
|
||||
def walk(self,base_oid, bin_comp=False) :
|
||||
def walk(self,base_oid, bin_comp=False, output='x'):
|
||||
""" Retourne le résultat de snmpwalk
|
||||
le retour est un dictionnaire { oid : valeur }
|
||||
"""
|
||||
if bin_comp:
|
||||
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 = {}
|
||||
for ligne in lignes:
|
||||
try:
|
||||
oid, valeur = ligne.split('Hex-STRING: ')
|
||||
result[oid] = valeur
|
||||
except:
|
||||
pass
|
||||
except ValueError:
|
||||
try:
|
||||
oid, valeur = ligne.split(' ', 1)
|
||||
except ValueError:
|
||||
continue
|
||||
result[oid] = valeur
|
||||
return result
|
||||
|
||||
def bin_walk(self, base_oid):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue