versions.py

来自「实现snmp协议的agent 和manager」· Python 代码 · 共 33 行

PY
33
字号
from pysnmp.proto import rfc1155, rfc1157, rfc1902, rfc1905# Mix-in'sclass ProtoVersionIdMixInBase:    def apiAlphaGetProtoVersionId(self): return self.apiAlphaProtoVersionIdclass ProtoVersionId1MixIn(ProtoVersionIdMixInBase):    apiAlphaProtoVersionId = rfc1157.Version().get()class ProtoVersionId2cMixIn(ProtoVersionIdMixInBase):    apiAlphaProtoVersionId = rfc1905.Version().get()# Stand-alone versionsclass ProtoVersionIdBase:    def __hash__(self): return hash(self.apiAlphaProtoVersionId)    def __cmp__(self, other): return cmp(self.apiAlphaProtoVersionId, other)    def __str__(self): return str(self.apiAlphaProtoVersionId+1)class ProtoVersionId1(ProtoVersionIdBase, ProtoVersionId1MixIn): passclass ProtoVersionId2c(ProtoVersionIdBase, ProtoVersionId2cMixIn): passmixInComps = [ (rfc1155, ProtoVersionId1MixIn),               (rfc1157, ProtoVersionId1MixIn),               (rfc1902, ProtoVersionId2cMixIn),               (rfc1905, ProtoVersionId2cMixIn) ]for (baseModule, mixIn) in mixInComps:    for baseClass in map(lambda x, y=baseModule: getattr(y, x),                         baseModule.__all__):        if mixIn not in baseClass.__bases__:            baseClass.__bases__ = (mixIn, ) + baseClass.__bases__            

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?