diff options
author | Ilya Etingof <etingof@gmail.com> | 2019-09-07 18:16:28 +0200 |
---|---|---|
committer | Ilya Etingof <etingof@gmail.com> | 2019-09-07 18:16:28 +0200 |
commit | bac135a0ac35acb6ebefa683541fc34b920f7671 (patch) | |
tree | f3ce7c674edc50d02cd8b041684dda3c52fcf497 /pyasn1/codec | |
parent | aa5eb55ad9aaa67bf158c19864582ff7efb9854c (diff) | |
download | pyasn1-git-bac135a0ac35acb6ebefa683541fc34b920f7671.tar.gz |
Improve open maps debugging in decoder
Diffstat (limited to 'pyasn1/codec')
-rw-r--r-- | pyasn1/codec/ber/decoder.py | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/pyasn1/codec/ber/decoder.py b/pyasn1/codec/ber/decoder.py index 5759ab8..5ff485f 100644 --- a/pyasn1/codec/ber/decoder.py +++ b/pyasn1/codec/ber/decoder.py @@ -638,7 +638,10 @@ class UniversalConstructedTypeDecoder(AbstractConstructedDecoder): openTypes = options.get('openTypes', {}) if LOG: - LOG('using open types map: %r' % openTypes) + LOG('user-specified open types map:') + + for k, v in openTypes.items(): + LOG('%s -> %r' % (k, v)) if openTypes or options.get('decodeOpenTypes', False): @@ -658,6 +661,17 @@ class UniversalConstructedTypeDecoder(AbstractConstructedDecoder): except KeyError: + if LOG: + LOG('default open types map of component ' + '"%s.%s" governed by component "%s.%s"' + ':' % (asn1Object.__class__.__name__, + namedType.name, + asn1Object.__class__.__name__, + namedType.openType.name)) + + for k, v in namedType.openType.items(): + LOG('%s -> %r' % (k, v)) + try: openType = namedType.openType[governingValue] @@ -823,7 +837,10 @@ class UniversalConstructedTypeDecoder(AbstractConstructedDecoder): openTypes = options.get('openTypes', {}) if LOG: - LOG('using open types map: %r' % openTypes) + LOG('user-specified open types map:') + + for k, v in openTypes.items(): + LOG('%s -> %r' % (k, v)) if openTypes or options.get('decodeOpenTypes', False): @@ -843,6 +860,17 @@ class UniversalConstructedTypeDecoder(AbstractConstructedDecoder): except KeyError: + if LOG: + LOG('default open types map of component ' + '"%s.%s" governed by component "%s.%s"' + ':' % (asn1Object.__class__.__name__, + namedType.name, + asn1Object.__class__.__name__, + namedType.openType.name)) + + for k, v in namedType.openType.items(): + LOG('%s -> %r' % (k, v)) + try: openType = namedType.openType[governingValue] |