[tor-commits] [arm/master] Adding a format() method to the header panel's Sampling

atagar at torproject.org atagar at torproject.org
Sun Jul 13 04:31:04 UTC 2014


commit 570f5aa2d10f807f1d8291d511c689e59badc1c6
Author: Damian Johnson <atagar at torproject.org>
Date:   Sat Jul 12 20:04:05 2014 -0700

    Adding a format() method to the header panel's Sampling
    
    Method so we can apply Samplings via a format() style method.
---
 arm/header_panel.py |   27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/arm/header_panel.py b/arm/header_panel.py
index 7aba465..58e4db1 100644
--- a/arm/header_panel.py
+++ b/arm/header_panel.py
@@ -165,8 +165,6 @@ class HeaderPanel(panel.Panel, threading.Thread):
     else:
       self._draw_resource_usage(0, 2, left_width, vals)
 
-    # Line 3 / Line 1 Right (system usage info)
-
     if vals.or_port:
       # Line 4 / Line 2 Right (fingerprint, and possibly file descriptor usage)
 
@@ -289,7 +287,7 @@ class HeaderPanel(panel.Panel, threading.Thread):
     """
 
     space_left = min(width, 40)
-    x, space_left = self.addtstr(y, x, 'arm - %s' % vals.hostname, space_left)
+    x, space_left = self.addtstr(y, x, vals.format('arm - {hostname}'), space_left)
 
     if space_left >= 10:
       self.addstr(y, x, ' (%s)' % ui_tools.crop_str(vals.platform, space_left - 3, 4))
@@ -297,7 +295,7 @@ class HeaderPanel(panel.Panel, threading.Thread):
     x, space_left = 43, width - 43
 
     if vals.version != 'Unknown' and space_left >= 10:
-      x, space_left = self.addtstr(y, x, 'Tor %s' % vals.version, space_left)
+      x, space_left = self.addtstr(y, x, vals.format('Tor {version}'), space_left)
 
       if space_left >= 7 + len(vals.version_status):
         version_color = CONFIG['attr.version_status_colors'].get(vals.version_status, 'white')
@@ -317,23 +315,23 @@ class HeaderPanel(panel.Panel, threading.Thread):
       if not vals.or_port:
         x = self.addstr(y, x, 'Relaying Disabled', ui_tools.get_color('cyan'))
       else:
-        x = self.addstr(y, x, '%s - %s:%s' % (vals.nickname, vals.or_address, vals.or_port))
+        x = self.addstr(y, x, vals.format('{nickname} - {or_address}:{or_port}'))
 
         if vals.dir_port != '0':
-          x = self.addstr(y, x, ', Dir Port: %s' % vals.dir_port)
+          x = self.addstr(y, x, vals.format(', Dir Port: {dir_port}'))
     else:
       x = self.addstr(y, x, 'Tor Disconnected', curses.A_BOLD | ui_tools.get_color('red'))
       x = self.addstr(y, x, ' (%s, press r to reconnect)' % self.last_heartbeat)
 
     if vals.control_port == '0':
-      self.addstr(y, x, ', Control Socket: %s' % vals.socket_path)
+      self.addstr(y, x, vals.format(', Control Socket: {socket_path}'))
     else:
       if width >= x + 19 + len(vals.control_port) + len(vals.auth_type):
         auth_color = 'red' if vals.auth_type == 'open' else 'green'
 
         x = self.addstr(y, x, ', Control Port (')
         x = self.addstr(y, x, vals.auth_type, ui_tools.get_color(auth_color))
-        self.addstr(y, x, '): %s' % vals.control_port)
+        self.addstr(y, x, vals.format('): {control_port}'))
       else:
         self.addstr(y, x, ', Control Port: %s' % vals.control_port)
 
@@ -357,9 +355,9 @@ class HeaderPanel(panel.Panel, threading.Thread):
       uptime = ''
 
     sys_fields = (
-      (0, 'cpu: %s%% tor, %s%% arm' % (vals.tor_cpu, vals.arm_cpu)),
-      (27, 'mem: %s (%s%%)' % (vals.memory, vals.memory_percent)),
-      (47, 'pid: %s' % vals.pid),
+      (0, vals.format('cpu: {tor_cpu}% tor, {arm_cpu}% arm')),
+      (27, vals.format('mem: {memory} ({memory_percent}%)')),
+      (47, vals.format('pid: {pid}')),
       (59, 'uptime: %s' % uptime),
     )
 
@@ -508,6 +506,13 @@ class Sampling(object):
     self.hostname = uname_vals[1]
     self.platform = '%s %s' % (uname_vals[0], uname_vals[2])  # [platform name] [version]
 
+  def format(self, msg):
+    """
+    Applies our attributes to the given string.
+    """
+
+    return msg.format(**self.__dict__)
+
   def _get_fd_used(self, pid):
     """
     Provides the number of file descriptors currently being used by this





More information about the tor-commits mailing list