diff options
author | Ilya Etingof <etingof@gmail.com> | 2019-11-16 12:06:16 +0100 |
---|---|---|
committer | Ilya Etingof <etingof@gmail.com> | 2019-11-16 12:06:16 +0100 |
commit | 8393983359edc25b75cbe07f0d4c13497285aa71 (patch) | |
tree | 78a3a65bd81653b9a3f06a6562650d82c42fbd1f /pyasn1/codec/ber/encoder.py | |
parent | 3e802d75b8fc679382d2b37501efb2f38be0518b (diff) | |
download | pyasn1-git-8393983359edc25b75cbe07f0d4c13497285aa71.tar.gz |
Refactor codec classes linkage
Make it looking more uniform and easier to override if needed.
Diffstat (limited to 'pyasn1/codec/ber/encoder.py')
-rw-r--r-- | pyasn1/codec/ber/encoder.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/pyasn1/codec/ber/encoder.py b/pyasn1/codec/ber/encoder.py index e80a007..7ee9b47 100644 --- a/pyasn1/codec/ber/encoder.py +++ b/pyasn1/codec/ber/encoder.py @@ -846,11 +846,14 @@ class SingleItemEncoder(object): class Encoder(object): - SINGLE_ITEM_ENCODER = SingleItemEncoder() + SINGLE_ITEM_ENCODER = SingleItemEncoder - @classmethod - def __call__(cls, pyObject, asn1Spec=None, **options): - return cls.SINGLE_ITEM_ENCODER(pyObject, asn1Spec=asn1Spec, **options) + def __init__(self, **options): + self._singleItemEncoder = self.SINGLE_ITEM_ENCODER() + + def __call__(self, pyObject, asn1Spec=None, **options): + return self._singleItemEncoder( + pyObject, asn1Spec=asn1Spec, **options) #: Turns ASN.1 object into BER octet stream. |