server/: Use modern functions for address/text conversions.
[tripe] / mon / tripemon.in
index 7f48bd2..593b2e8 100644 (file)
@@ -40,7 +40,7 @@ import re as RX
 from cStringIO import StringIO
 
 try:
-  if OS.getenv('TRIPEMON_FORCE_GI'): raise ImportError
+  if OS.getenv('TRIPEMON_FORCE_GI'): raise ImportError()
   import pygtk
   pygtk.require('2.0')
   import gtk as G
@@ -324,12 +324,14 @@ class Peer (MonitorObject):
   def _setaddr(me, addr):
     """Set the peer's address."""
     if addr[0] == 'INET':
-      ipaddr, port = addr[1:]
+      af, ipaddr, port = addr
       try:
-        name = S.gethostbyaddr(ipaddr)[0]
-        me.addr = 'INET %s:%s [%s]' % (name, port, ipaddr)
-      except S.herror:
-        me.addr = 'INET %s:%s' % (ipaddr, port)
+        name, _ = S.getnameinfo((ipaddr, int(port)),
+                                S.NI_NUMERICSERV | S.NI_NAMEREQD)
+      except S.gaierror:
+        me.addr = '%s %s:%s' % (af, ipaddr, port)
+      else:
+        me.addr = '%s %s:%s [%s]' % (af, name, port, ipaddr)
     else:
       me.addr = ' '.join(addr)
 
@@ -773,7 +775,7 @@ class ValidatingEntry (G.Entry):
     ValidationError.
     """
     if not me.validp:
-      raise ValidationError
+      raise ValidationError()
     return G.Entry.get_text(me)
 
 def numericvalidate(min = None, max = None):