diff options
Diffstat (limited to 'pyasn1/codec/native')
-rw-r--r-- | pyasn1/codec/native/decoder.py | 12 | ||||
-rw-r--r-- | pyasn1/codec/native/encoder.py | 14 |
2 files changed, 13 insertions, 13 deletions
diff --git a/pyasn1/codec/native/decoder.py b/pyasn1/codec/native/decoder.py index db30c71..1838b7d 100644 --- a/pyasn1/codec/native/decoder.py +++ b/pyasn1/codec/native/decoder.py @@ -135,9 +135,9 @@ class SingleItemDecoder(object): TAG_MAP = TAG_MAP TYPE_MAP = TYPE_MAP - def __init__(self, tagMap=None, typeMap=None): - self.__tagMap = tagMap or self.TAG_MAP - self.__typeMap = typeMap or self.TYPE_MAP + def __init__(self, **options): + self._tagMap = options.get('tagMap', self.TAG_MAP) + self._typeMap = options.get('typeMap', self.TYPE_MAP) def __call__(self, pyObject, asn1Spec, **options): @@ -152,14 +152,14 @@ class SingleItemDecoder(object): 'Item, not %s)' % asn1Spec.__class__.__name__) try: - valueDecoder = self.__typeMap[asn1Spec.typeId] + valueDecoder = self._typeMap[asn1Spec.typeId] except KeyError: # use base type for codec lookup to recover untagged types baseTagSet = tag.TagSet(asn1Spec.tagSet.baseTag, asn1Spec.tagSet.baseTag) try: - valueDecoder = self.__tagMap[baseTagSet] + valueDecoder = self._tagMap[baseTagSet] except KeyError: raise error.PyAsn1Error('Unknown ASN.1 tag %s' % asn1Spec.tagSet) @@ -184,7 +184,7 @@ class Decoder(object): SINGLE_ITEM_DECODER = SingleItemDecoder def __init__(self, **options): - self._singleItemDecoder = self.SINGLE_ITEM_DECODER() + self._singleItemDecoder = self.SINGLE_ITEM_DECODER(**options) def __call__(self, pyObject, asn1Spec=None, **kwargs): return self._singleItemDecoder(pyObject, asn1Spec=asn1Spec, **kwargs) diff --git a/pyasn1/codec/native/encoder.py b/pyasn1/codec/native/encoder.py index d0d65ec..7c5edc9 100644 --- a/pyasn1/codec/native/encoder.py +++ b/pyasn1/codec/native/encoder.py @@ -180,9 +180,9 @@ class SingleItemEncoder(object): TAG_MAP = TAG_MAP TYPE_MAP = TYPE_MAP - def __init__(self, tagMap=None, typeMap=None): - self.__tagMap = tagMap or self.TAG_MAP - self.__typeMap = typeMap or self.TYPE_MAP + def __init__(self, **options): + self._tagMap = options.get('tagMap', self.TAG_MAP) + self._typeMap = options.get('typeMap', self.TYPE_MAP) def __call__(self, value, **options): if not isinstance(value, base.Asn1Item): @@ -197,7 +197,7 @@ class SingleItemEncoder(object): tagSet = value.tagSet try: - concreteEncoder = self.__typeMap[value.typeId] + concreteEncoder = self._typeMap[value.typeId] except KeyError: # use base type for codec lookup to recover untagged types @@ -205,7 +205,7 @@ class SingleItemEncoder(object): value.tagSet.baseTag, value.tagSet.baseTag) try: - concreteEncoder = self.__tagMap[baseTagSet] + concreteEncoder = self._tagMap[baseTagSet] except KeyError: raise error.PyAsn1Error('No encoder for %s' % (value,)) @@ -227,8 +227,8 @@ class SingleItemEncoder(object): class Encoder(object): SINGLE_ITEM_ENCODER = SingleItemEncoder - def __init__(self, **kwargs): - self._singleItemEncoder = self.SINGLE_ITEM_ENCODER() + def __init__(self, **options): + self._singleItemEncoder = self.SINGLE_ITEM_ENCODER(**options) def __call__(self, pyObject, asn1Spec=None, **options): return self._singleItemEncoder( |