⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 versions.py

📁 实现snmp协议的agent 和manager
💻 PY
字号:
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -