[tor-commits] [arm/master] Making title a GraphCategory constant

atagar at torproject.org atagar at torproject.org
Tue Oct 21 15:36:05 UTC 2014


commit 5c3011c9c1b356cbfc527b161460ce567b596379
Author: Damian Johnson <atagar at torproject.org>
Date:   Tue Oct 21 07:47:21 2014 -0700

    Making title a GraphCategory constant
    
    No reason to have this be an attribute. It's just a simple constant for each
    subclass. Making this be a constant means we don't need to worry about cloning
    it, or having a constructor just to set it.
---
 arm/graph_panel.py |   36 +++++++++++++-----------------------
 1 file changed, 13 insertions(+), 23 deletions(-)

diff --git a/arm/graph_panel.py b/arm/graph_panel.py
index a3e0d0f..1608cc6 100644
--- a/arm/graph_panel.py
+++ b/arm/graph_panel.py
@@ -133,25 +133,22 @@ class GraphCategory(object):
   Category for the graph. This maintains two subgraphs, updating them each
   second with updated stats.
 
-  :var str title: title of the graph
-  :var list title_stats: additional information to include in the graph title
   :var Stat primary: first subgraph
   :var Stat secondary: second subgraph
+  :var list title_stats: additional information to include in the graph title
   """
 
+  TITLE = ''
+
   def __init__(self, clone = None):
     if clone:
-      self.title = clone.title
-      self.title_stats = list(clone.title_stats)
-
       self.primary = Stat(clone.primary)
       self.secondary = Stat(clone.secondary)
+      self.title_stats = list(clone.title_stats)
     else:
-      self.title = ''
-      self.title_stats = []
-
       self.primary = Stat()
       self.secondary = Stat()
+      self.title_stats = []
 
       tor_controller().add_event_listener(self.bandwidth_event, stem.control.EventType.BW)
 
@@ -175,14 +172,14 @@ class BandwidthStats(GraphCategory):
   Uses tor BW events to generate bandwidth usage graph.
   """
 
+  TITLE = 'Bandwidth'
+
   def __init__(self, clone = None):
     GraphCategory.__init__(self, clone)
 
     if clone:
       self.start_time = clone.start_time
     else:
-      self.title = 'Bandwidth'
-
       # listens for tor reload (sighup) events which can reset the bandwidth
       # rate/burst
 
@@ -349,11 +346,7 @@ class ConnStats(GraphCategory):
   outbound. Control connections are excluded from counts.
   """
 
-  def __init__(self, clone = None):
-    GraphCategory.__init__(self, clone)
-
-    if not clone:
-      self.title = 'Connection Count'
+  TITLE = 'Connection Count'
 
   def bandwidth_event(self, event):
     """
@@ -395,14 +388,11 @@ class ResourceStats(GraphCategory):
   System resource usage tracker.
   """
 
+  TITLE = 'System Resources'
+
   def __init__(self, clone = None):
     GraphCategory.__init__(self)
-
-    if clone:
-      self._last_counter = clone._last_counter
-    else:
-      self.title = 'System Resources'
-      self._last_counter = None
+    self._last_counter = clone._last_counter if clone else None
 
   def primary_header(self, width):
     avg = self.primary.total / max(1, self.primary.tick)
@@ -670,8 +660,8 @@ class GraphPanel(panel.Panel):
     graph_column = min((width - 10) / 2, CONFIG['features.graph.max_width'])
 
     if self.is_title_visible():
-      title_stats = str_tools.join(param.title_stats, ', ', width - len(param.title) - 4)
-      title = '%s (%s):' % (param.title, title_stats) if title_stats else '%s:' % param.title
+      title_stats = str_tools.join(param.title_stats, ', ', width - len(param.TITLE) - 4)
+      title = '%s (%s):' % (param.TITLE, title_stats) if title_stats else '%s:' % param.TITLE
       self.addstr(0, 0, title, curses.A_STANDOUT)
 
     # top labels





More information about the tor-commits mailing list