From 1bcdbc6db5626a32c5e391f11202fe2973ff6f01 Mon Sep 17 00:00:00 2001 From: elie Date: Mon, 23 Jul 2012 14:52:49 +0000 Subject: built-in debugger now supports negating debugging categories --- pysnmp/debug.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'pysnmp/debug.py') diff --git a/pysnmp/debug.py b/pysnmp/debug.py index ab826b9..e7c113f 100644 --- a/pysnmp/debug.py +++ b/pysnmp/debug.py @@ -35,10 +35,18 @@ class Debug: self._flags = flagNone self._printer = self.defaultPrinter for f in flags: - if f not in flagMap: + inverse = f and f[0] in ('!', '~') + if inverse: + f = f[1:] + try: + if inverse: + self._flags &= ~flagMap[f] + else: + self._flags |= flagMap[f] + except KeyError: raise error.PySnmpError('bad debug flag %s' % f) - self._flags = self._flags | flagMap[f] - self('debug category %s enabled' % f) + + self('debug category %s %s' % (f, inverse and 'disabled' or 'enabled')) def __str__(self): return 'logger %s, flags %x' % (self._printer, self._flags) -- cgit v1.2.1