diff options
author | Ilya Etingof <etingof@gmail.com> | 2016-04-12 23:21:46 +0200 |
---|---|---|
committer | Ilya Etingof <etingof@gmail.com> | 2016-04-12 23:21:46 +0200 |
commit | 521fa24293780f2dd24e2d9e26113c6bccc85746 (patch) | |
tree | 1c25c04a040aa11387470ae59048869632c861bd | |
parent | 4f652723e9181d90eabe0e2ec16b50fd88a603a4 (diff) | |
download | pyasn1-git-521fa24293780f2dd24e2d9e26113c6bccc85746.tar.gz |
fix to base ASN.1 types to run in "unicode_literals" mode
-rw-r--r-- | CHANGES.txt | 1 | ||||
-rw-r--r-- | pyasn1/type/univ.py | 12 |
2 files changed, 7 insertions, 6 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index c4fdcbf..c25575f 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -10,6 +10,7 @@ Revision 0.1.10, released XX-XX-2016 iso-8859-1 encoding. - Fix to BER decoder improperly caching long tags. - Fix to IntegerDecoder's precomputed value map on Python 3. +- Fix to base ASN.1 types to run in "unicode_literals" mode. Revision 0.1.9, released 28-09-2015 ----------------------------------- diff --git a/pyasn1/type/univ.py b/pyasn1/type/univ.py index 87f63f7..a387095 100644 --- a/pyasn1/type/univ.py +++ b/pyasn1/type/univ.py @@ -208,7 +208,7 @@ class Integer(base.AbstractSimpleAsn1Item): return self._value >= value def prettyIn(self, value): - if not isinstance(value, str): + if not octets.isStringType(value): try: return int(value) except: @@ -678,7 +678,7 @@ class BitString(base.AbstractSimpleAsn1Item): if not value: return () - elif isinstance(value, str): + elif octets.isStringType(value): if value[0] == '\'': if value[-2:] == '\'B': return self.fromBinaryString(value[1:-2]) @@ -1515,8 +1515,8 @@ class Real(base.AbstractSimpleAsn1Item): return value elif isinstance(value, intTypes): return self.__normalizeBase10((value, 10, 0)) - elif isinstance(value, (str, float)): - if isinstance(value, str): + elif isinstance(value, float) or octets.isStringType(value): + if octets.isStringType(value): try: value = float(value) except ValueError: @@ -1923,13 +1923,13 @@ class SequenceAndSetBase(base.AbstractConstructedAsn1Item): self._componentTypeLen = len(self._componentType) def __getitem__(self, idx): - if isinstance(idx, str): + if octets.isStringType(idx): return self.getComponentByName(idx) else: return base.AbstractConstructedAsn1Item.__getitem__(self, idx) def __setitem__(self, idx, value): - if isinstance(idx, str): + if octets.isStringType(idx): self.setComponentByName(idx, value) else: base.AbstractConstructedAsn1Item.__setitem__(self, idx, value) |