diff options
author | elie <elie> | 2012-07-23 14:52:49 +0000 |
---|---|---|
committer | elie <elie> | 2012-07-23 14:52:49 +0000 |
commit | 1bcdbc6db5626a32c5e391f11202fe2973ff6f01 (patch) | |
tree | 1ee4d5556cef0f72238505efdd8414bc6f4717db /pysnmp/debug.py | |
parent | fd1a95d52d64c5fab87337a3e452196dbed0c6b9 (diff) | |
download | pysnmp-1bcdbc6db5626a32c5e391f11202fe2973ff6f01.tar.gz |
built-in debugger now supports negating debugging categories
Diffstat (limited to 'pysnmp/debug.py')
-rw-r--r-- | pysnmp/debug.py | 14 |
1 files changed, 11 insertions, 3 deletions
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) |