]> Cypherpunks.ru repositories - pyderasn.git/commitdiff
Integer.tohex()
authorSergey Matveev <stargrave@stargrave.org>
Sun, 22 Mar 2020 13:54:33 +0000 (16:54 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 22 Mar 2020 14:25:25 +0000 (17:25 +0300)
doc/news.rst
pyderasn.py

index 446418515f7417286cf4d58ea60c68687f1b24f6..ca8f5a43c06ef03714911f61e0da1dd444f36d38 100644 (file)
@@ -7,6 +7,7 @@ News
 ---
 
 * Fix DEFINED BY pprinting when invoking as __main__ module
+* Integer has ``tohex()`` for getting hexadecimal representation of its value
 
 .. _release7.3:
 
index aed2ed13cc187e87651547283587a82cf23facab..162c1404a3af15ddbae345c63d391f8d34fb45e2 100755 (executable)
@@ -917,7 +917,7 @@ _______
 Integer
 _______
 .. autoclass:: pyderasn.Integer
-   :members: __init__, named
+   :members: __init__, named, tohex
 
 BitString
 _________
@@ -2378,13 +2378,8 @@ def pp_console_row(
                     cols.append(_colourize("(%s)" % oid_name, "green", with_colours))
                     break
         if pp.asn1_type_name == Integer.asn1_type_name:
-            hex_repr = hex(int(pp.obj._value))[2:].upper()
-            if len(hex_repr) % 2 != 0:
-                hex_repr = "0" + hex_repr
             cols.append(_colourize(
-                "(%s)" % colonize_hex(hex_repr),
-                "green",
-                with_colours,
+                "(%s)" % colonize_hex(pp.obj.tohex()), "green", with_colours,
             ))
     if with_blob:
         if pp.blob.__class__ == binary_type:
@@ -2851,6 +2846,16 @@ class Integer(Obj):
         self._assert_ready()
         return int(self._value)
 
+    def tohex(self):
+        """Hexadecimal representation
+
+        Use :py:func:`pyderasn.colonize_hex` for colonizing it.
+        """
+        hex_repr = hex(int(self))[2:].upper()
+        if len(hex_repr) % 2 != 0:
+            hex_repr = "0" + hex_repr
+        return hex_repr
+
     def __hash__(self):
         self._assert_ready()
         return hash(b"".join((