]> asedeno.scripts.mit.edu Git - vt_decor.git/commitdiff
hostname resolution, but not yet active
authorAlejandro R. Sedeño <asedeno@mit.edu>
Mon, 14 Feb 2022 23:41:52 +0000 (18:41 -0500)
committerAlejandro R. Sedeño <asedeno@mit.edu>
Mon, 14 Feb 2022 23:41:52 +0000 (18:41 -0500)
vt_decor.py

index 68719b1d0c19c7b3cf6cd8101ebed05ca47d98b9..ddf4f6b238f3373f74bceb32204a9aa0d0f84095 100644 (file)
@@ -2,6 +2,7 @@ import base64
 import inspect
 import ipaddress
 import re
+import socket
 import textwrap
 import time
 import weakref
@@ -21,6 +22,8 @@ SETTINGS = {
     'show_signatures': False,
 }
 
+HOSTNAMES = {}
+
 def _gen_setter(key):
     def setter(_context, value):
         SETTINGS[key] = value
@@ -247,10 +250,17 @@ class RoostVTDecor(roost.RoostMessage.Decor):
             else:
                 chunk.append((tags, zsig))
 
-        chunk.append(
-            (tags | {'right'},
-             f'## {ipaddress.ip_address(base64.b64decode(msg.data["uid"])[:4])}'
-             if SETTINGS['show_addr'] else ''
-            ))
+        if SETTINGS['show_addr']:
+            addr = str(ipaddress.ip_address(base64.b64decode(msg.data["uid"])[:4]))
+            # Hangs snipe while resolving; need to make async somehow.
+            #if addr not in HOSTNAMES:
+            #    try:
+            #        HOSTNAMES[addr] = socket.gethostbyaddr(addr)[0].upper()
+            #    except Exception:
+            #        HOSTNAMES[addr] = addr
+            #addr = HOSTNAMES[addr]
+            chunk.append((tags | {'right'}, f'## {addr}'))
+        else:
+            chunk.append((tags | {'right'}, ''))
 
         return chunk