From: Sergey Matveev Date: Mon, 17 Feb 2020 13:52:12 +0000 (+0300) Subject: Simplify code with _values_for_encoding override X-Git-Tag: 7.2~2 X-Git-Url: http://www.git.cypherpunks.ru/?p=pyderasn.git;a=commitdiff_plain;h=57d488e9db5cddb4b2ae986838ce93fad0948eb4 Simplify code with _values_for_encoding override --- diff --git a/pyderasn.py b/pyderasn.py index aa9f60c..8208efe 100755 --- a/pyderasn.py +++ b/pyderasn.py @@ -6367,17 +6367,16 @@ class Set(Sequence): tag_default = tag_encode(form=TagFormConstructed, num=17) asn1_type_name = "SET" - def _encode(self): - v = b"".join(value.encode() for value in sorted( - self._values_for_encoding(), + def _values_for_encoding(self): + return sorted( + super(Set, self)._values_for_encoding(), key=attrgetter("tag_order"), - )) - return b"".join((self.tag, len_encode(len(v)), v)) + ) def _encode_cer(self, writer): write_full(writer, self.tag + LENINDEF) for v in sorted( - self._values_for_encoding(), + super(Set, self)._values_for_encoding(), key=attrgetter("tag_order_cer"), ): v.encode_cer(writer)