def getValue(self, oid, storage): oidstring = bisectoidstore.sortableToOID(oid) if oidstring == self.SYSTEMDESCRIPTION_OID: return v1.OctetString(str(config.plugins.SnmpAgent.systemdescription.value)) elif oidstring == self.SYSUPTIME_OID: return self.getSysUpTime() elif oidstring == self.SUPPORTADDRESS_OID: return v1.OctetString(str(config.plugins.SnmpAgent.supportaddress.value)) elif oidstring == self.SYSTEMNAME_OID: return v1.OctetString(str(config.plugins.SnmpAgent.systemname.value)) elif oidstring == self.LOCATION_OID: return v1.OctetString(str(config.plugins.SnmpAgent.location.value)) elif oidstring == self.BER_OID: return self.getBER() elif oidstring == self.AGC_OID: return self.getACG() elif oidstring == self.SNR_OID: return self.getSNR() elif oidstring == self.HASPICTURE_OID: return self.haspicture elif oidstring == self.VIDEO_BITRATE_OID: if self.bitrate: return self.bitrate.vcur else: return 0 elif oidstring == self.AUDIO_BITRATE_OID: if self.bitrate: return self.bitrate.acur else: return 0 elif oidstring == self.CHANNELNAME_OID: return v1.OctetString(self.getChannelName()) elif oidstring == self.SERVICESTRING_OID: return v1.OctetString(self.getServiceString()) elif oidstring == self.FASTSCANSTRING_OID: return v1.OctetString('') elif oidstring == self.SERVICEPARAMS_OID: return v1.OctetString(self.getServiceParams()) elif oidstring == self.MANAGERIP_OID: return v1.OctetString(str(config.plugins.SnmpAgent.managerip.value)) elif oidstring == self.ENABLE_BITRATE_OID: return config.plugins.SnmpAgent.measurebitrate.value elif oidstring == self.IP_OID: value = "%d.%d.%d.%d" % tuple(iNetwork.getAdapterAttribute(self.iface, "ip")) return v1.IpAddress(value) elif oidstring == self.NETMASK_OID: value = "%d.%d.%d.%d" % tuple(iNetwork.getAdapterAttribute(self.iface, "netmask")) return v1.IpAddress(value) elif oidstring == self.GATEWAY_OID: value = "%d.%d.%d.%d" % tuple(iNetwork.getAdapterAttribute(self.iface, "gateway")) return v1.IpAddress(value) elif oidstring == self.ENABLE_EMM_OID: return config.plugins.SnmpAgent.checkemm.value elif oidstring == self.EMM_OID: if self.emm: return v1.OctetString(self.emm.pids) else: return v1.OctetString('')
def setValue(self, oid, value): #the first time we are called, we have to fill the bisect oid store, values are just values, no objects (we cannot call value.get) try: value.get() except: return ourOIDStore.setValue(self, oid, value) oidstring = bisectoidstore.sortableToOID(oid) if oidstring == self.TRANSPONDERPARAMS_OID: print value.get() self.transponderparams = value.get() transponder = value.get().split(',') if len(transponder) >= 6: for i in range(0, 6): transponder[i] = int(transponder[i]) print transponder self.tune(transponder) return None else: return ourOIDStore.setValue(self, oid, value)
def setValue(self, oid, value): #the first time we are called, we have to fill the bisect oid store, values are just values, no objects (we cannot call value.get) try: value.get() except: return bisectoidstore.BisectOIDStore.setValue(self, oid, value) oidstring = bisectoidstore.sortableToOID(oid) if oidstring == self.MANAGERIP_OID: if config.plugins.SnmpAgent.managerip.value <> value.get(): config.plugins.SnmpAgent.managerip.value = value.get() config.plugins.SnmpAgent.managerip.save() elif oidstring == self.ENABLE_BITRATE_OID: if config.plugins.SnmpAgent.measurebitrate.value and not value.get( ): config.plugins.SnmpAgent.measurebitrate.value = False config.plugins.SnmpAgent.measurebitrate.save() if self.bitrate: self.bitrate.stop() self.bitrate = None elif not config.plugins.SnmpAgent.measurebitrate.value and value.get( ): config.plugins.SnmpAgent.measurebitrate.value = True config.plugins.SnmpAgent.measurebitrate.save() self.bitrate = Bitrate(self.session) self.bitrate.start() elif oidstring == self.SYSTEMNAME_OID: if config.plugins.SnmpAgent.systemname.value <> value.get(): config.plugins.SnmpAgent.systemname.value = value.get() config.plugins.SnmpAgent.systemname.save() elif oidstring == self.SUPPORTADDRESS_OID: if config.plugins.SnmpAgent.supportaddress.value <> value.get(): config.plugins.SnmpAgent.supportaddress.value = value.get() config.plugins.SnmpAgent.supportaddress.save() elif oidstring == self.SYSTEMDESCRIPTION_OID: if config.plugins.SnmpAgent.systemdescription.value <> value.get(): config.plugins.SnmpAgent.systemdescription.value = value.get() config.plugins.SnmpAgent.systemdescription.save() elif oidstring == self.LOCATION_OID: if config.plugins.SnmpAgent.location.value <> value.get(): config.plugins.SnmpAgent.location.value = value.get() config.plugins.SnmpAgent.location.save() elif oidstring == self.CHANNELNAME_OID: if self.getChannelName() <> value.get(): root = config.tv.lastroot.value.split(';') fav = eServiceReference(root[-2]) services = ServiceList(fav, command_func=self.zapTo, validate_commands=False) sub = services.getServicesAsList() if len(sub) > 0: for (ref, name) in sub: if name == value.get(): self.zapTo(eServiceReference(ref)) break elif oidstring == self.SERVICESTRING_OID: if self.getServiceString() <> value.get(): self.zapTo(eServiceReference(value.get())) elif oidstring == self.FASTSCANSTRING_OID: refstring = '' fields = value.get().split(',') if len(fields) >= 15: onid, tsid, freq, id1, id2, sid, orbital_pos, f1, f2, f3, symbolrate, f4, name, provider, servicetype = fields[ 0:15] refstring = '%d:%d:%d:%x:%x:%x:%x:%x:%x:%x:' % ( 1, 0, int(servicetype), int(sid), int(tsid), int(onid), int(orbital_pos) * 65536, 0, 0, 0) if refstring is not '': self.zapTo(eServiceReference(refstring)) elif oidstring == self.SERVICEPARAMS_OID: refstring = '' fields = value.get().split(',') if len(fields) >= 5: orbital_pos, tsid, onid, sid, servicetype = fields[0:5] refstring = '%d:%d:%d:%x:%x:%x:%x:%x:%x:%x:' % ( 1, 0, int(servicetype), int(sid), int(tsid), int(onid), int(orbital_pos) * 65536, 0, 0, 0) if refstring is not '': self.zapTo(eServiceReference(refstring)) elif oidstring == self.IP_OID: ipstring = value.get().split('.') ipval = [] for x in ipstring: ipval.append(int(x)) if iNetwork.getAdapterAttribute(self.iface, "ip") <> ipval: iNetwork.setAdapterAttribute(self.iface, "dhcp", 0) iNetwork.setAdapterAttribute(self.iface, "ip", ipval) iNetwork.deactivateNetworkConfig() iNetwork.writeNetworkConfig() iNetwork.activateNetworkConfig() elif oidstring == self.IP_OID: ipstring = value.get().split('.') ipval = [] for x in ipstring: ipval.append(int(x)) if iNetwork.getAdapterAttribute(self.iface, "netmask") <> ipval: iNetwork.setAdapterAttribute(self.iface, "dhcp", 0) iNetwork.setAdapterAttribute(self.iface, "netmask", ipval) iNetwork.deactivateNetworkConfig() iNetwork.writeNetworkConfig() iNetwork.activateNetworkConfig() elif oidstring == self.GATEWAY_OID: ipstring = value.get().split('.') ipval = [] for x in ipstring: ipval.append(int(x)) if iNetwork.getAdapterAttribute(self.iface, "gateway") <> ipval: iNetwork.setAdapterAttribute(self.iface, "dhcp", 0) iNetwork.setAdapterAttribute(self.iface, "gateway", ipval) iNetwork.deactivateNetworkConfig() iNetwork.writeNetworkConfig() iNetwork.activateNetworkConfig() elif oidstring == self.ENABLE_EMM_OID: if config.plugins.SnmpAgent.checkemm.value and not value.get(): config.plugins.SnmpAgent.checkemm.value = False config.plugins.SnmpAgent.checkemm.save() if self.emm: self.emm.stop() self.emm = None elif not config.plugins.SnmpAgent.checkemm.value and value.get(): config.plugins.SnmpAgent.checkemm.value = True config.plugins.SnmpAgent.checkemm.save() self.emm = Emm(self.session) self.emm.start() else: print "oid not found!?" return None
def getValue(self, oid, storage): oidstring = bisectoidstore.sortableToOID(oid) strOID = str(oidstring) if oidstring == self.SYSTEMDESCRIPTION_OID: return v1.OctetString( str(config.plugins.SnmpAgent.systemdescription.value)) elif oidstring == self.SYSUPTIME_OID: return self.getSysUpTime() elif oidstring == self.CPU_USER: return v1.Counter(GetCPUStatForType(CPUStatTypes.user)) elif oidstring == self.CPU_NICE: return v1.Counter(GetCPUStatForType(CPUStatTypes.nice)) elif oidstring == self.CPU_SYSTEM: return v1.Counter(GetCPUStatForType(CPUStatTypes.system)) elif oidstring == self.CPU_IDLE: return v1.Counter(GetCPUStatForType(CPUStatTypes.idle)) elif oidstring == self.CPU_WAIT: return v1.Counter(GetCPUStatForType(CPUStatTypes.iowait)) elif oidstring == self.LOAD_AVR1: return v1.OctetString(GetCPULoadForType(CPULoadTypes.one)) elif oidstring == self.LOAD_AVR5: return v1.OctetString(GetCPULoadForType(CPULoadTypes.five)) elif oidstring == self.LOAD_AVR15: return v1.OctetString(GetCPULoadForType(CPULoadTypes.fifteen)) elif oidstring == self.MEM_TOTAL: return v1.Integer(GetMemoryForType(MemoryTypes.total)) elif oidstring == self.MEM_TOTAL2: return v1.Integer(GetMemoryForType(MemoryTypes.total)) elif oidstring == self.MEM_USED: return v1.Integer(GetMemoryForType(MemoryTypes.used)) elif oidstring == self.MEM_FREE: return v1.Integer(GetMemoryForType(MemoryTypes.free)) elif oidstring == self.MEM_BUFFER: return v1.Integer(GetMemoryForType(MemoryTypes.buffers)) elif oidstring == self.MEM_CACHED: return v1.Integer(GetMemoryForType(MemoryTypes.cached)) elif oidstring == self.MEM_SWAPTOTAL: return v1.Integer(GetMemoryForType(MemoryTypes.swaptotal)) elif oidstring == self.MEM_SWAPFREE: return v1.Integer(GetMemoryForType(MemoryTypes.swapfree)) elif strOID.startswith(str(self.DISK_INDEX)): return v1.Integer(int(strOID[len(str(self.DISK_INDEX)) + 1:])) elif strOID.startswith(str(self.DISK_PATHNAME)): return v1.OctetString( GetDiskInfo(DiskInfoTypes.mountpoint, int(strOID[len(str(self.DISK_PATHNAME)) + 1:]) - 1)) elif strOID.startswith(str(self.DISK_DEVICENAME)): return v1.OctetString( GetDiskInfo( DiskInfoTypes.filesystem, int(strOID[len(str(self.DISK_DEVICENAME)) + 1:]) - 1)) elif strOID.startswith(str(self.DISK_AVAIL)): return v1.Integer( GetDiskInfo(DiskInfoTypes.avail, int(strOID[len(str(self.DISK_AVAIL)) + 1:]) - 1)) elif strOID.startswith(str(self.DISK_USED)): return v1.Integer( GetDiskInfo(DiskInfoTypes.used, int(strOID[len(str(self.DISK_USED)) + 1:]) - 1)) elif oidstring == self.IF_NUMBER: return v1.Integer(GetNetworkInfo(NetworkInfoTypes.total, 0)) elif strOID.startswith(str(self.IP_ADENTIFINDEX)): return v1.Integer(self.ip_adentifindex_ref[strOID]) elif strOID.startswith(str(self.IF_IPADENTADDR)): return v1.IpAddress(self.ip_adentaddr_ref[strOID]) elif strOID.startswith(str(self.IF_INOCTANTS)): return v1.Counter( GetNetworkInfo( NetworkInfoTypes.inoctants, int(strOID[len(str(self.IF_INOCTANTS)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_INDISCARD)): return v1.Counter( GetNetworkInfo( NetworkInfoTypes.indiscard, int(strOID[len(str(self.IF_INDISCARD)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_INERRORS)): return v1.Counter( GetNetworkInfo( NetworkInfoTypes.inerrors, int(strOID[len(str(self.IF_INERRORS)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_OUTOCTANTS)): return v1.Counter( GetNetworkInfo( NetworkInfoTypes.outoctacts, int(strOID[len(str(self.IF_OUTOCTANTS)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_OUTDISCARD)): return v1.Counter( GetNetworkInfo( NetworkInfoTypes.outdiscard, int(strOID[len(str(self.IF_OUTDISCARD)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_OUTERRORS)): return v1.Counter( GetNetworkInfo( NetworkInfoTypes.outerrors, int(strOID[len(str(self.IF_OUTERRORS)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_ALIAS)): return v1.OctetString( GetNetworkInfo(NetworkInfoTypes.alias, int(strOID[len(str(self.IF_ALIAS)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_HSPEED)): return v1.Gauge( GetNetworkInfo(NetworkInfoTypes.hspeed, int(strOID[len(str(self.IF_HSPEED)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_INDEX)): return v1.Integer(int(strOID[len(str(self.IF_INDEX)) + 1:])) elif strOID.startswith(str(self.IF_DESC)): return v1.OctetString( GetNetworkInfo(NetworkInfoTypes.desc, int(strOID[len(str(self.IF_DESC)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_NAME)): return v1.OctetString( GetNetworkInfo(NetworkInfoTypes.desc, int(strOID[len(str(self.IF_NAME)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_TYPE)): return v1.Integer( GetNetworkInfo(NetworkInfoTypes.type, int(strOID[len(str(self.IF_TYPE)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_MTU)): return v1.Integer( GetNetworkInfo(NetworkInfoTypes.mtu, int(strOID[len(str(self.IF_MTU)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_SPEED)): return v1.Gauge( GetNetworkInfo(NetworkInfoTypes.speed, int(strOID[len(str(self.IF_SPEED)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_HWADDR)): return v1.OctetString( GetNetworkInfo(NetworkInfoTypes.hwaddr, int(strOID[len(str(self.IF_HWADDR)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_STATUS)): return v1.Integer( GetNetworkInfo(NetworkInfoTypes.status, int(strOID[len(str(self.IF_STATUS)) + 1:]) - 1)) elif oidstring == self.SUPPORTADDRESS_OID: return v1.OctetString( str(config.plugins.SnmpAgent.supportaddress.value)) elif oidstring == self.SYSTEMNAME_OID: return v1.OctetString( str(config.plugins.SnmpAgent.systemname.value)) elif oidstring == self.LOCATION_OID: return v1.OctetString(str(config.plugins.SnmpAgent.location.value)) elif oidstring == self.BER_OID: return self.getBER() elif oidstring == self.AGC_OID: return self.getAGC() elif oidstring == self.SNR_OID: return self.getSNR() elif oidstring == self.SNRDB_OID: return self.getSNRDB() elif oidstring == self.LOCK_OID: return self.getLock() elif oidstring == self.HASPICTURE_OID: return self.haspicture elif oidstring == self.VIDEO_BITRATE_OID: if self.bitrate: return self.bitrate.vcur else: return 0 elif oidstring == self.AUDIO_BITRATE_OID: if self.bitrate: return self.bitrate.acur else: return 0 elif oidstring == self.CHANNELNAME_OID: return v1.OctetString(self.getChannelName()) elif oidstring == self.SERVICESTRING_OID: return v1.OctetString(self.getServiceString()) elif oidstring == self.FASTSCANSTRING_OID: return v1.OctetString('') elif oidstring == self.SERVICEPARAMS_OID: return v1.OctetString(self.getServiceParams()) elif oidstring == self.TUNERTYPE_OID: return self.getTunerType() elif oidstring == self.MANAGERIP_OID: return v1.OctetString(str( config.plugins.SnmpAgent.managerip.value)) elif oidstring == self.ENABLE_BITRATE_OID: return config.plugins.SnmpAgent.measurebitrate.value elif oidstring == self.IP_OID: value = "%d.%d.%d.%d" % tuple( iNetwork.getAdapterAttribute(self.iface, "ip")) return v1.IpAddress(value) elif oidstring == self.NETMASK_OID: value = "%d.%d.%d.%d" % tuple( iNetwork.getAdapterAttribute(self.iface, "netmask")) return v1.IpAddress(value) elif oidstring == self.GATEWAY_OID: value = "%d.%d.%d.%d" % tuple( iNetwork.getAdapterAttribute(self.iface, "gateway")) return v1.IpAddress(value) elif oidstring == self.ENABLE_EMM_OID: return config.plugins.SnmpAgent.checkemm.value elif oidstring == self.EMM_OID: if self.emm: return v1.OctetString(self.emm.pids) else: return v1.OctetString('')
def setValue(self, oid, value): #the first time we are called, we have to fill the bisect oid store, values are just values, no objects (we cannot call value.get) try: value.get() except: return bisectoidstore.BisectOIDStore.setValue(self, oid, value) oidstring = bisectoidstore.sortableToOID(oid) if oidstring == self.MANAGERIP_OID: if config.plugins.SnmpAgent.managerip.value <> value.get(): config.plugins.SnmpAgent.managerip.value = value.get() config.plugins.SnmpAgent.managerip.save() elif oidstring == self.ENABLE_BITRATE_OID: if config.plugins.SnmpAgent.measurebitrate.value and not value.get(): config.plugins.SnmpAgent.measurebitrate.value = False config.plugins.SnmpAgent.measurebitrate.save() if self.bitrate: self.bitrate.stop() self.bitrate = None elif not config.plugins.SnmpAgent.measurebitrate.value and value.get(): config.plugins.SnmpAgent.measurebitrate.value = True config.plugins.SnmpAgent.measurebitrate.save() self.bitrate = Bitrate(self.session) self.bitrate.start() elif oidstring == self.SYSTEMNAME_OID: if config.plugins.SnmpAgent.systemname.value <> value.get(): config.plugins.SnmpAgent.systemname.value = value.get() config.plugins.SnmpAgent.systemname.save() elif oidstring == self.SUPPORTADDRESS_OID: if config.plugins.SnmpAgent.supportaddress.value <> value.get(): config.plugins.SnmpAgent.supportaddress.value = value.get() config.plugins.SnmpAgent.supportaddress.save() elif oidstring == self.SYSTEMDESCRIPTION_OID: if config.plugins.SnmpAgent.systemdescription.value <> value.get(): config.plugins.SnmpAgent.systemdescription.value = value.get() config.plugins.SnmpAgent.systemdescription.save() elif oidstring == self.LOCATION_OID: if config.plugins.SnmpAgent.location.value <> value.get(): config.plugins.SnmpAgent.location.value = value.get() config.plugins.SnmpAgent.location.save() elif oidstring == self.CHANNELNAME_OID: if self.getChannelName() <> value.get(): root = config.tv.lastroot.value.split(';') fav = eServiceReference(root[-2]) services = ServiceList(fav, command_func=self.zapTo, validate_commands=False) sub = services.getServicesAsList() if len(sub) > 0: for (ref, name) in sub: if name == value.get(): self.zapTo(eServiceReference(ref)) break elif oidstring == self.SERVICESTRING_OID: if self.getServiceString() <> value.get(): self.zapTo(eServiceReference(value.get())) elif oidstring == self.FASTSCANSTRING_OID: refstring = '' fields = value.get().split(',') if len(fields) >= 15: onid, tsid, freq, id1, id2, sid, orbital_pos, f1, f2, f3, symbolrate, f4, name, provider, servicetype = fields[0:15] refstring = '%d:%d:%d:%x:%x:%x:%x:%x:%x:%x:' % (1, 0, int(servicetype), int(sid), int(tsid), int(onid), int(orbital_pos) * 65536, 0, 0, 0) if refstring is not '': self.zapTo(eServiceReference(refstring)) elif oidstring == self.SERVICEPARAMS_OID: refstring = '' fields = value.get().split(',') if len(fields) >= 5: orbital_pos, tsid, onid, sid, servicetype = fields[0:5] refstring = '%d:%d:%d:%x:%x:%x:%x:%x:%x:%x:' % (1, 0, int(servicetype), int(sid), int(tsid), int(onid), int(orbital_pos) * 65536, 0, 0, 0) if refstring is not '': self.zapTo(eServiceReference(refstring)) elif oidstring == self.IP_OID: ipstring = value.get().split('.') ipval = [] for x in ipstring: ipval.append(int(x)) if iNetwork.getAdapterAttribute(self.iface, "ip") <> ipval: iNetwork.setAdapterAttribute(self.iface, "dhcp", 0) iNetwork.setAdapterAttribute(self.iface, "ip", ipval) iNetwork.deactivateNetworkConfig() iNetwork.writeNetworkConfig() iNetwork.activateNetworkConfig() elif oidstring == self.IP_OID: ipstring = value.get().split('.') ipval = [] for x in ipstring: ipval.append(int(x)) if iNetwork.getAdapterAttribute(self.iface, "netmask") <> ipval: iNetwork.setAdapterAttribute(self.iface, "dhcp", 0) iNetwork.setAdapterAttribute(self.iface, "netmask", ipval) iNetwork.deactivateNetworkConfig() iNetwork.writeNetworkConfig() iNetwork.activateNetworkConfig() elif oidstring == self.GATEWAY_OID: ipstring = value.get().split('.') ipval = [] for x in ipstring: ipval.append(int(x)) if iNetwork.getAdapterAttribute(self.iface, "gateway") <> ipval: iNetwork.setAdapterAttribute(self.iface, "dhcp", 0) iNetwork.setAdapterAttribute(self.iface, "gateway", ipval) iNetwork.deactivateNetworkConfig() iNetwork.writeNetworkConfig() iNetwork.activateNetworkConfig() elif oidstring == self.ENABLE_EMM_OID: if config.plugins.SnmpAgent.checkemm.value and not value.get(): config.plugins.SnmpAgent.checkemm.value = False config.plugins.SnmpAgent.checkemm.save() if self.emm: self.emm.stop() self.emm = None elif not config.plugins.SnmpAgent.checkemm.value and value.get(): config.plugins.SnmpAgent.checkemm.value = True config.plugins.SnmpAgent.checkemm.save() self.emm = Emm(self.session) self.emm.start() else: print "oid not found!?" return None
def getValue(self, oid, storage): oidstring = bisectoidstore.sortableToOID(oid) strOID = str(oidstring) if oidstring == self.SYSTEMDESCRIPTION_OID: return v1.OctetString(str(config.plugins.SnmpAgent.systemdescription.value)) elif oidstring == self.SYSUPTIME_OID: return self.getSysUpTime() elif oidstring == self.CPU_USER: return v1.Counter(GetCPUStatForType(CPUStatTypes.user)) elif oidstring == self.CPU_NICE: return v1.Counter(GetCPUStatForType(CPUStatTypes.nice)) elif oidstring == self.CPU_SYSTEM: return v1.Counter(GetCPUStatForType(CPUStatTypes.system)) elif oidstring == self.CPU_IDLE: return v1.Counter(GetCPUStatForType(CPUStatTypes.idle)) elif oidstring == self.CPU_WAIT: return v1.Counter(GetCPUStatForType(CPUStatTypes.iowait)) elif oidstring == self.LOAD_AVR1: return v1.OctetString(GetCPULoadForType(CPULoadTypes.one)) elif oidstring == self.LOAD_AVR5: return v1.OctetString(GetCPULoadForType(CPULoadTypes.five)) elif oidstring == self.LOAD_AVR15: return v1.OctetString(GetCPULoadForType(CPULoadTypes.fifteen)) elif oidstring == self.MEM_TOTAL: return v1.Integer(GetMemoryForType(MemoryTypes.total)) elif oidstring == self.MEM_TOTAL2: return v1.Integer(GetMemoryForType(MemoryTypes.total)) elif oidstring == self.MEM_USED: return v1.Integer(GetMemoryForType(MemoryTypes.used)) elif oidstring == self.MEM_FREE: return v1.Integer(GetMemoryForType(MemoryTypes.free)) elif oidstring == self.MEM_BUFFER: return v1.Integer(GetMemoryForType(MemoryTypes.buffers)) elif oidstring == self.MEM_CACHED: return v1.Integer(GetMemoryForType(MemoryTypes.cached)) elif oidstring == self.MEM_SWAPTOTAL: return v1.Integer(GetMemoryForType(MemoryTypes.swaptotal)) elif oidstring == self.MEM_SWAPFREE: return v1.Integer(GetMemoryForType(MemoryTypes.swapfree)) elif strOID.startswith(str(self.DISK_INDEX)): return v1.Integer(int(strOID[len(str(self.DISK_INDEX)) + 1:])) elif strOID.startswith(str(self.DISK_PATHNAME)): return v1.OctetString(GetDiskInfo(DiskInfoTypes.mountpoint, int(strOID[len(str(self.DISK_PATHNAME)) + 1:]) - 1)) elif strOID.startswith(str(self.DISK_DEVICENAME)): return v1.OctetString(GetDiskInfo(DiskInfoTypes.filesystem, int(strOID[len(str(self.DISK_DEVICENAME)) + 1:]) - 1)) elif strOID.startswith(str(self.DISK_AVAIL)): return v1.Integer(GetDiskInfo(DiskInfoTypes.avail, int(strOID[len(str(self.DISK_AVAIL)) + 1:]) - 1)) elif strOID.startswith(str(self.DISK_USED)): return v1.Integer(GetDiskInfo(DiskInfoTypes.used, int(strOID[len(str(self.DISK_USED)) + 1:]) - 1)) elif oidstring == self.IF_NUMBER: return v1.Integer(GetNetworkInfo(NetworkInfoTypes.total, 0)) elif strOID.startswith(str(self.IP_ADENTIFINDEX)): return v1.Integer(self.ip_adentifindex_ref[strOID]) elif strOID.startswith(str(self.IF_IPADENTADDR)): return v1.IpAddress(self.ip_adentaddr_ref[strOID]) elif strOID.startswith(str(self.IF_INOCTANTS)): return v1.Counter(GetNetworkInfo(NetworkInfoTypes.inoctants, int(strOID[len(str(self.IF_INOCTANTS)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_INDISCARD)): return v1.Counter(GetNetworkInfo(NetworkInfoTypes.indiscard, int(strOID[len(str(self.IF_INDISCARD)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_INERRORS)): return v1.Counter(GetNetworkInfo(NetworkInfoTypes.inerrors, int(strOID[len(str(self.IF_INERRORS)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_OUTOCTANTS)): return v1.Counter(GetNetworkInfo(NetworkInfoTypes.outoctacts, int(strOID[len(str(self.IF_OUTOCTANTS)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_OUTDISCARD)): return v1.Counter(GetNetworkInfo(NetworkInfoTypes.outdiscard, int(strOID[len(str(self.IF_OUTDISCARD)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_OUTERRORS)): return v1.Counter(GetNetworkInfo(NetworkInfoTypes.outerrors, int(strOID[len(str(self.IF_OUTERRORS)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_ALIAS)): return v1.OctetString(GetNetworkInfo(NetworkInfoTypes.alias, int(strOID[len(str(self.IF_ALIAS)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_HSPEED)): return v1.Gauge(GetNetworkInfo(NetworkInfoTypes.hspeed, int(strOID[len(str(self.IF_HSPEED)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_INDEX)): return v1.Integer(int(strOID[len(str(self.IF_INDEX)) + 1:])) elif strOID.startswith(str(self.IF_DESC)): return v1.OctetString(GetNetworkInfo(NetworkInfoTypes.desc, int(strOID[len(str(self.IF_DESC)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_NAME)): return v1.OctetString(GetNetworkInfo(NetworkInfoTypes.desc, int(strOID[len(str(self.IF_NAME)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_TYPE)): return v1.Integer(GetNetworkInfo(NetworkInfoTypes.type, int(strOID[len(str(self.IF_TYPE)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_MTU)): return v1.Integer(GetNetworkInfo(NetworkInfoTypes.mtu, int(strOID[len(str(self.IF_MTU)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_SPEED)): return v1.Gauge(GetNetworkInfo(NetworkInfoTypes.speed, int(strOID[len(str(self.IF_SPEED)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_HWADDR)): return v1.OctetString(GetNetworkInfo(NetworkInfoTypes.hwaddr, int(strOID[len(str(self.IF_HWADDR)) + 1:]) - 1)) elif strOID.startswith(str(self.IF_STATUS)): return v1.Integer(GetNetworkInfo(NetworkInfoTypes.status, int(strOID[len(str(self.IF_STATUS)) + 1:]) - 1)) elif oidstring == self.SUPPORTADDRESS_OID: return v1.OctetString(str(config.plugins.SnmpAgent.supportaddress.value)) elif oidstring == self.SYSTEMNAME_OID: return v1.OctetString(str(config.plugins.SnmpAgent.systemname.value)) elif oidstring == self.LOCATION_OID: return v1.OctetString(str(config.plugins.SnmpAgent.location.value)) elif oidstring == self.BER_OID: return self.getBER() elif oidstring == self.AGC_OID: return self.getAGC() elif oidstring == self.SNR_OID: return self.getSNR() elif oidstring == self.SNRDB_OID: return self.getSNRDB() elif oidstring == self.LOCK_OID: return self.getLock() elif oidstring == self.HASPICTURE_OID: return self.haspicture elif oidstring == self.VIDEO_BITRATE_OID: if self.bitrate: return self.bitrate.vcur else: return 0 elif oidstring == self.AUDIO_BITRATE_OID: if self.bitrate: return self.bitrate.acur else: return 0 elif oidstring == self.CHANNELNAME_OID: return v1.OctetString(self.getChannelName()) elif oidstring == self.SERVICESTRING_OID: return v1.OctetString(self.getServiceString()) elif oidstring == self.FASTSCANSTRING_OID: return v1.OctetString('') elif oidstring == self.SERVICEPARAMS_OID: return v1.OctetString(self.getServiceParams()) elif oidstring == self.TUNERTYPE_OID: return self.getTunerType() elif oidstring == self.MANAGERIP_OID: return v1.OctetString(str(config.plugins.SnmpAgent.managerip.value)) elif oidstring == self.ENABLE_BITRATE_OID: return config.plugins.SnmpAgent.measurebitrate.value elif oidstring == self.IP_OID: value = "%d.%d.%d.%d" % tuple(iNetwork.getAdapterAttribute(self.iface, "ip")) return v1.IpAddress(value) elif oidstring == self.NETMASK_OID: value = "%d.%d.%d.%d" % tuple(iNetwork.getAdapterAttribute(self.iface, "netmask")) return v1.IpAddress(value) elif oidstring == self.GATEWAY_OID: value = "%d.%d.%d.%d" % tuple(iNetwork.getAdapterAttribute(self.iface, "gateway")) return v1.IpAddress(value) elif oidstring == self.ENABLE_EMM_OID: return config.plugins.SnmpAgent.checkemm.value elif oidstring == self.EMM_OID: if self.emm: return v1.OctetString(self.emm.pids) else: return v1.OctetString('')
def getValue(self, oid, storage): oidstring = bisectoidstore.sortableToOID(oid) if oidstring == self.SYSTEMDESCRIPTION_OID: return v1.OctetString( str(config.plugins.SnmpAgent.systemdescription.value)) elif oidstring == self.SYSUPTIME_OID: return self.getSysUpTime() elif oidstring == self.SUPPORTADDRESS_OID: return v1.OctetString( str(config.plugins.SnmpAgent.supportaddress.value)) elif oidstring == self.SYSTEMNAME_OID: return v1.OctetString( str(config.plugins.SnmpAgent.systemname.value)) elif oidstring == self.LOCATION_OID: return v1.OctetString(str(config.plugins.SnmpAgent.location.value)) elif oidstring == self.BER_OID: return self.getBER() elif oidstring == self.AGC_OID: return self.getACG() elif oidstring == self.SNR_OID: return self.getSNR() elif oidstring == self.HASPICTURE_OID: return self.haspicture elif oidstring == self.VIDEO_BITRATE_OID: if self.bitrate: return self.bitrate.vcur else: return 0 elif oidstring == self.AUDIO_BITRATE_OID: if self.bitrate: return self.bitrate.acur else: return 0 elif oidstring == self.CHANNELNAME_OID: return v1.OctetString(self.getChannelName()) elif oidstring == self.SERVICESTRING_OID: return v1.OctetString(self.getServiceString()) elif oidstring == self.FASTSCANSTRING_OID: return v1.OctetString('') elif oidstring == self.SERVICEPARAMS_OID: return v1.OctetString(self.getServiceParams()) elif oidstring == self.MANAGERIP_OID: return v1.OctetString(str( config.plugins.SnmpAgent.managerip.value)) elif oidstring == self.ENABLE_BITRATE_OID: return config.plugins.SnmpAgent.measurebitrate.value elif oidstring == self.IP_OID: value = "%d.%d.%d.%d" % tuple( iNetwork.getAdapterAttribute(self.iface, "ip")) return v1.IpAddress(value) elif oidstring == self.NETMASK_OID: value = "%d.%d.%d.%d" % tuple( iNetwork.getAdapterAttribute(self.iface, "netmask")) return v1.IpAddress(value) elif oidstring == self.GATEWAY_OID: value = "%d.%d.%d.%d" % tuple( iNetwork.getAdapterAttribute(self.iface, "gateway")) return v1.IpAddress(value) elif oidstring == self.ENABLE_EMM_OID: return config.plugins.SnmpAgent.checkemm.value elif oidstring == self.EMM_OID: if self.emm: return v1.OctetString(self.emm.pids) else: return v1.OctetString('')