]> Cypherpunks.ru repositories - pyderasn.git/commitdiff
Simplify code with _values_for_encoding override
authorSergey Matveev <stargrave@stargrave.org>
Mon, 17 Feb 2020 13:52:12 +0000 (16:52 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Mon, 17 Feb 2020 13:59:43 +0000 (16:59 +0300)
pyderasn.py

index aa9f60c486fb973a09b0ce6e3b532240a079bfc0..8208efeb024148e54e8c6e71ca369383b393f273 100755 (executable)
@@ -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)