[or-cvs] r19626: {arm} Tested and corrected formatting for all event types except S (arm/trunk/interface)

atagar at seul.org atagar at seul.org
Thu Jun 4 18:59:42 UTC 2009


Author: atagar
Date: 2009-06-04 14:59:42 -0400 (Thu, 04 Jun 2009)
New Revision: 19626

Modified:
   arm/trunk/interface/controller.py
   arm/trunk/interface/logPanel.py
Log:
Tested and corrected formatting for all event types except STREAM and STREAM_BW (not sure how to make those occur...).


Modified: arm/trunk/interface/controller.py
===================================================================
--- arm/trunk/interface/controller.py	2009-06-04 16:00:12 UTC (rev 19625)
+++ arm/trunk/interface/controller.py	2009-06-04 18:59:42 UTC (rev 19626)
@@ -164,6 +164,15 @@
       y, x = stdscr.getmaxyx()
       if y > oldY: panels = refreshSubwindows(stdscr, panels)
       
+      # if it's been at least five seconds since the last BW event Tor's probably done
+      if not isUnresponsive and logListener.getHeartbeat() >= 5:
+        isUnresponsive = True
+        logListener.monitor_event("NOTICE", "Relay unresponsive (last heartbeat: %s)" % time.ctime(logListener.lastHeartbeat))
+      elif isUnresponsive and logListener.getHeartbeat() < 5:
+        # this really shouldn't happen - BW events happen every second...
+        isUnresponsive = False
+        logListener.monitor_event("WARN", "Relay resumed")
+      
       staticPanel.drawSummary(panels["summary"], staticInfo)
       
       msgType = CTL_PAUSED if isPaused else CTL_HELP
@@ -177,15 +186,6 @@
       
       oldY, oldX = y, x
       stdscr.refresh()
-      
-      # if it's been at least five seconds since the last BW event Tor's probably done
-      if not isUnresponsive and logListener.getHeartbeat() >= 5:
-        isUnresponsive = True
-        logListener.monitor_event("NOTICE", "Relay unresponsive (last heartbeat: %s)" % time.ctime(logListener.lastHeartbeat))
-      elif isUnresponsive and logListener.getHeartbeat() < 5:
-        # this really shouldn't happen - BW events happen every second...
-        isUnresponsive = False
-        logListener.monitor_event("WARN", "Relay resumed")
     finally:
       cursesLock.release()
     

Modified: arm/trunk/interface/logPanel.py
===================================================================
--- arm/trunk/interface/logPanel.py	2009-06-04 16:00:12 UTC (rev 19625)
+++ arm/trunk/interface/logPanel.py	2009-06-04 18:59:42 UTC (rev 19626)
@@ -101,29 +101,31 @@
     self.lastHeartbeat = time.time()      # time of last BW event
   
   # Listens for all event types and redirects to registerEvent
-  # TODO: not sure how to stimulate all event types - should be tried before
-  # implemented to see what's the best formatting, what information is
-  # important, and to make sure of variable's types so we don't get exceptions.
-  
   def circ_status_event(self, event):
-    # TODO: sanity check on how we're presenting event
-    try:
-      self.registerEvent("CIRC", "ID: %s STATUS: %s PATH: %s PURPOSE: %s REASON: %s REMOTE_REASON: %s" % (event.circ_id, event.status, event.path, event.purpose, event.reason, event.remote_reason), "white")
-    except TypeError:
-      self.registerEvent("CIRC", "DEBUG -> ID: %s STATUS: %s PATH: %s PURPOSE: %s REASON: %s REMOTE_REASON: %s" % (type(event.circ_id), type(event.status), type(event.path), type(event.purpose), type(event.reason), type(event.remote_reason)), "white")
+    optionalParams = ""
+    if event.purpose: optionalParams += " PURPOSE: %s" % event.purpose
+    if event.reason: optionalParams += " REASON: %s" % event.reason
+    if event.remote_reason: optionalParams += " REMOTE_REASON: %s" % event.remote_reason
+    self.registerEvent("CIRC", "ID: %-3s STATUS: %-10s PATH: %s%s" % (event.circ_id, event.status, ", ".join(event.path), optionalParams), "yellow")
   
   def stream_status_event(self, event):
-    # TODO: sanity check on how we're presenting event
+    # TODO: not sure how to stimulate event - needs sanity check
     try:
       self.registerEvent("STREAM", "ID: %s STATUS: %s CIRC_ID: %s TARGET: %s:%s REASON: %s REMOTE_REASON: %s SOURCE: %s SOURCE_ADDR: %s PURPOSE: %s" % (event.strm_id, event.status, event.circ_id, event.target_host, event.target_port, event.reason, event.remote_reason, event.source, event.source_addr, event.purpose), "white")
     except TypeError:
       self.registerEvent("STREAM", "DEBUG -> ID: %s STATUS: %s CIRC_ID: %s TARGET: %s:%s REASON: %s REMOTE_REASON: %s SOURCE: %s SOURCE_ADDR: %s PURPOSE: %s" % (type(event.strm_id), type(event.status), type(event.circ_id), type(event.target_host), type(event.target_port), type(event.reason), type(event.remote_reason), type(event.source), type(event.source_addr), type(event.purpose)), "white")
   
   def or_conn_status_event(self, event):
-    self.registerEvent("ORCONN", "STATUS: %-10s ENDPOINT: %-22s AGE: %-3s READ: %-4s WRITTEN: %-4s REASON: %-6s NCIRCS: %s" % (event.status, event.endpoint, event.age, event.read_bytes, event.wrote_bytes, event.reason, event.ncircs), "white")
+    optionalParams = ""
+    if event.age: optionalParams += " AGE: %-3s" % event.age
+    if event.read_bytes: optionalParams += " READ: %-4i" % event.read_bytes
+    if event.wrote_bytes: optionalParams += " WRITTEN: %-4i" % event.wrote_bytes
+    if event.reason: optionalParams += " REASON: %-6s" % event.reason
+    if event.ncircs: optionalParams += " NCIRCS: %i" % event.ncircs
+    self.registerEvent("ORCONN", "STATUS: %-10s ENDPOINT: %-20s%s" % (event.status, event.endpoint, optionalParams), "white")
   
   def stream_bw_event(self, event):
-    # TODO: sanity check on how we're presenting event
+    # TODO: not sure how to stimulate event - needs sanity check
     try:
       self.registerEvent("STREAM_BW", "ID: %s READ: %i WRITTEN: %i" % (event.strm_id, event.bytes_read, event.bytes_written), "white")
     except TypeError:
@@ -141,21 +143,21 @@
     self.registerEvent("NEWDESC", ", ".join(idlistStr), "white")
   
   def address_mapped_event(self, event):
-    # TODO: sanity check on how we're presenting event
-    try:
-      self.registerEvent("ADDRMAP", "%s FROM: %s TO: %s" % (event.when, event.from_addr, event.to_addr), "white")
-    except TypeError:
-      self.registerEvent("ADDRMAP", "DEBUG -> %s FROM: %s TO: %s" % (type(event.when), type(event.from_addr), type(event.to_addr)), "white")
+    self.registerEvent("ADDRMAP", "%s, %s -> %s" % (event.when, event.from_addr, event.to_addr), "white")
   
   def ns_event(self, event):
-    # TODO: sanity check on how we're presenting event
-    nslistStr = [str(item) for item in event.nslist]
-    self.registerEvent("NS", ", ".join(nslistStr), "white")
+    # NetworkStatus params: nickname, idhash, orhash, ip, orport (int), dirport (int), flags, idhex, bandwidth, updated (datetime)
+    msg = ""
+    for ns in event.nslist:
+      msg += ", %s (%s:%i)" % (ns.nickname, ns.ip, ns.orport)
+    if len(msg) > 1: msg = msg[2:]
+    self.registerEvent("NS", "Listed (%i): %s" % (len(event.nslist), msg), "blue")
   
   def new_consensus_event(self, event):
-    # TODO: sanity check on how we're presenting event
-    nslistStr = [str(item) for item in event.nslist]
-    self.registerEvent("NEWCONSENSUS", str(nslistStr), "white")
+    msg = ""
+    for ns in event.nslist:
+      msg += ", %s (%s:%i)" % (ns.nickname, ns.ip, ns.orport)
+    self.registerEvent("NEWCONSENSUS", "Listed (%i): %s" % (len(event.nslist), msg), "magenta")
   
   def unknown_event(self, event):
     if self.includeUnknown: self.registerEvent("UNKNOWN", event.event_string, "red")



More information about the tor-commits mailing list