Index: third_party/gsutil/third_party/pyasn1/pyasn1/debug.py |
diff --git a/third_party/gsutil/third_party/pyasn1/pyasn1/debug.py b/third_party/gsutil/third_party/pyasn1/pyasn1/debug.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c27cb1d44650b83761ca278c3fc0927c2bbd64e8 |
--- /dev/null |
+++ b/third_party/gsutil/third_party/pyasn1/pyasn1/debug.py |
@@ -0,0 +1,65 @@ |
+import sys |
+from pyasn1.compat.octets import octs2ints |
+from pyasn1 import error |
+from pyasn1 import __version__ |
+ |
+flagNone = 0x0000 |
+flagEncoder = 0x0001 |
+flagDecoder = 0x0002 |
+flagAll = 0xffff |
+ |
+flagMap = { |
+ 'encoder': flagEncoder, |
+ 'decoder': flagDecoder, |
+ 'all': flagAll |
+ } |
+ |
+class Debug: |
+ defaultPrinter = sys.stderr.write |
+ def __init__(self, *flags): |
+ self._flags = flagNone |
+ self._printer = self.defaultPrinter |
+ self('running pyasn1 version %s' % __version__) |
+ for f in flags: |
+ if f not in flagMap: |
+ raise error.PyAsn1Error('bad debug flag %s' % (f,)) |
+ self._flags = self._flags | flagMap[f] |
+ self('debug category \'%s\' enabled' % f) |
+ |
+ def __str__(self): |
+ return 'logger %s, flags %x' % (self._printer, self._flags) |
+ |
+ def __call__(self, msg): |
+ self._printer('DBG: %s\n' % msg) |
+ |
+ def __and__(self, flag): |
+ return self._flags & flag |
+ |
+ def __rand__(self, flag): |
+ return flag & self._flags |
+ |
+logger = 0 |
+ |
+def setLogger(l): |
+ global logger |
+ logger = l |
+ |
+def hexdump(octets): |
+ return ' '.join( |
+ [ '%s%.2X' % (n%16 == 0 and ('\n%.5d: ' % n) or '', x) |
+ for n,x in zip(range(len(octets)), octs2ints(octets)) ] |
+ ) |
+ |
+class Scope: |
+ def __init__(self): |
+ self._list = [] |
+ |
+ def __str__(self): return '.'.join(self._list) |
+ |
+ def push(self, token): |
+ self._list.append(token) |
+ |
+ def pop(self): |
+ return self._list.pop() |
+ |
+scope = Scope() |