summaryrefslogtreecommitdiff
path: root/pyasn1/codec/ber/encoder.py
diff options
context:
space:
mode:
authorIlya Etingof <etingof@gmail.com>2019-11-16 12:06:16 +0100
committerIlya Etingof <etingof@gmail.com>2019-11-16 12:06:16 +0100
commit8393983359edc25b75cbe07f0d4c13497285aa71 (patch)
tree78a3a65bd81653b9a3f06a6562650d82c42fbd1f /pyasn1/codec/ber/encoder.py
parent3e802d75b8fc679382d2b37501efb2f38be0518b (diff)
downloadpyasn1-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.py11
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.