1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- from traps.models import *
- import subprocess
- ##############################################################################
- def translate_trapoid_to_name(oid):
- try:
- # FIXME: Mehrere erlauben, dann aber nur einer aktiv
- return CfgTrap.objects.get(trapoid=oid).trapname
- except CfgTrap.DoesNotExist:
- return None
- except CfgTrap.MultipleObjectsReturned:
- # Should not happen
- return None
- ##############################################################################
- def call_snmptranslate(oid, allmibs=False):
- cmdline = ['snmptranslate', ]
- if allmibs:
- cmdline.append('-mALL')
- cmdline.append(oid)
- try:
- cmd = subprocess.Popen(cmdline, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
- (stdout, stderr) = cmd.communicate()
- except OSError:
- return None
- return stdout.rstrip()
- def external_snmptranslate(oid):
- allmibs=False
- if oid.startswith('.1.3.6.1.4.1'):
- allmibs=True
- oidname = call_snmptranslate(oid, allmibs)
- if oidname.count('.') > 1 and allmibs==False:
- oidname = call_snmptranslate(oid, True)
- return oidname
|