예제 #1
0
파일: SNMPv2-SMI.py 프로젝트: ithek/pysnmp
 def writeTest(self, name, val, idx, acInfo):
     (acFun, acCtx) = acInfo
     if name == self.name:
         raise error.NoAccessError(idx=idx, name=name)
     if acFun:
         if self.maxAccess not in ('readwrite', 'readcreate') or \
                acFun(name, self.syntax, idx, 'write', acCtx):
             raise error.NotWritableError(idx=idx, name=name)
     MibTree.writeTest(self, name, val, idx, acInfo)
예제 #2
0
파일: SNMPv2-SMI.py 프로젝트: ithek/pysnmp
 def writeTest(self, name, val, idx, acInfo):
     (acFun, acCtx) = acInfo
     if name == self.name:
         # Make sure variable is writable
         if acFun:
             if self.maxAccess not in ('readwrite', 'readcreate') or \
                    acFun(name, self.syntax, idx, 'write', acCtx):
                 raise error.NotWritableError(idx=idx, name=name)
     else:
         node = self.getBranch(name, idx)
         node.writeTest(name, val, idx, acInfo)
예제 #3
0
    def writeTest(self, varBind, **context):
        name, val = varBind

        if name == self.name:
            raise error.NoAccessError(name=name, idx=context.get('idx'))

        acFun = context.get('acFun')
        if acFun:
            if (self.maxAccess not in ('readwrite', 'readcreate') or
                    acFun('write', (name, self.syntax), **context)):
                raise error.NotWritableError(name=name, idx=context.get('idx'))

        MibTree.writeTest(self, varBind, **context)
예제 #4
0
    def writeTest(self, varBind, **context):
        name, val = varBind

        if name == self.name:
            # Make sure variable is writable
            acFun = context.get('acFun')
            if acFun:
                if (self.maxAccess not in ('readwrite', 'readcreate') or
                        acFun('write', (name, self.syntax), **context)):
                    raise error.NotWritableError(name=name, idx=context.get('idx'))
        else:
            node = self.getBranch(name, **context)
            node.writeTest(varBind, **context)
예제 #5
0
                self.readTest(nextName, val, idx, (acFun, acCtx))  # XXX
            except error.NoAccessError:
                continue
            else:
                return self.readGet(nextName, val, idx, (acFun, acCtx))

    # Write operation

    def writeTest(self, name, val, idx, (acFun, acCtx)):
        if name == self.name:
            # Make sure variable is writable
            if acFun and \
                   self.maxAccess != 'readwrite' and \
                   self.maxAccess != 'readcreate' or \
                   acFun and acFun(name, idx, 'write', acCtx):
                raise error.NotWritableError(idx=idx, name=name)
        else:
            node = self.getBranch(name, idx)
            node.writeTest(name, val, idx, (acFun, acCtx))

    def writeCommit(self, name, val, idx, (acFun, acCtx)):
        self.getBranch(name, idx).writeCommit(name, val, idx, (acFun, acCtx))

    def writeCleanup(self, name, val, idx, (acFun, acCtx)):
        self.getBranch(name, idx).writeCleanup(name, val, idx, (acFun, acCtx))

    def writeUndo(self, name, val, idx, (acFun, acCtx)):
        self.getBranch(name, idx).writeUndo(name, val, idx, (acFun, acCtx))


class MibScalar(MibTree):