[tor-commits] [nyx/master] Move SortAttr to the panel

atagar at torproject.org atagar at torproject.org
Tue Sep 22 17:08:41 UTC 2015


commit 858cbb6f0e3c057dca90329e4352018dbf34eb5b
Author: Damian Johnson <atagar at torproject.org>
Date:   Mon Aug 31 08:34:40 2015 -0700

    Move SortAttr to the panel
    
    All usage of the enum is now in the panel, so no reason for it to be split into
    the entries.
---
 nyx/connections/conn_panel.py |   51 ++++++++++++++++++++++++++---------------
 nyx/connections/entries.py    |   15 +-----------
 2 files changed, 33 insertions(+), 33 deletions(-)

diff --git a/nyx/connections/conn_panel.py b/nyx/connections/conn_panel.py
index 57c2efb..2f6fde3 100644
--- a/nyx/connections/conn_panel.py
+++ b/nyx/connections/conn_panel.py
@@ -29,21 +29,34 @@ Listing = enum.Enum(('IP_ADDRESS', 'IP Address'), 'FINGERPRINT', 'NICKNAME')
 EXIT_USAGE_WIDTH = 15
 UPDATE_RATE = 5  # rate in seconds at which we refresh
 
+SortAttr = enum.Enum('CATEGORY', 'UPTIME', 'LISTING', 'IP_ADDRESS', 'PORT', 'FINGERPRINT', 'NICKNAME', 'COUNTRY')
+
+SORT_COLORS = {
+  SortAttr.CATEGORY: 'red',
+  SortAttr.UPTIME: 'yellow',
+  SortAttr.LISTING: 'green',
+  SortAttr.IP_ADDRESS: 'blue',
+  SortAttr.PORT: 'blue',
+  SortAttr.FINGERPRINT: 'cyan',
+  SortAttr.NICKNAME: 'cyan',
+  SortAttr.COUNTRY: 'blue',
+}
+
 
 def conf_handler(key, value):
   if key == 'features.connection.listing_type':
     return conf.parse_enum(key, value, Listing)
   elif key == 'features.connection.order':
-    return conf.parse_enum_csv(key, value[0], entries.SortAttr, 3)
+    return conf.parse_enum_csv(key, value[0], SortAttr, 3)
 
 
 CONFIG = conf.config_dict('nyx', {
   'features.connection.resolveApps': True,
   'features.connection.listing_type': Listing.IP_ADDRESS,
   'features.connection.order': [
-    entries.SortAttr.CATEGORY,
-    entries.SortAttr.LISTING,
-    entries.SortAttr.UPTIME],
+    SortAttr.CATEGORY,
+    SortAttr.LISTING,
+    SortAttr.UPTIME],
   'features.connection.showIps': True,
 }, conf_handler)
 
@@ -155,21 +168,21 @@ class ConnectionPanel(panel.Panel, threading.Thread):
       if ordering:
         nyx_config = conf.get_config('nyx')
 
-        ordering_keys = [entries.SortAttr.keys()[entries.SortAttr.index_of(v)] for v in ordering]
+        ordering_keys = [SortAttr.keys()[SortAttr.index_of(v)] for v in ordering]
         nyx_config.set('features.connection.order', ', '.join(ordering_keys))
 
       def sort_value(entry, attr):
-        if attr == entries.SortAttr.LISTING:
+        if attr == SortAttr.LISTING:
           if self.get_listing_type() == Listing.IP_ADDRESS:
-            attr = entries.SortAttr.IP_ADDRESS
+            attr = SortAttr.IP_ADDRESS
           elif self.get_listing_type() == Listing.FINGERPRINT:
-            attr = entries.SortAttr.FINGERPRINT
+            attr = SortAttr.FINGERPRINT
           elif self.get_listing_type() == Listing.NICKNAME:
-            attr = entries.SortAttr.NICKNAME
+            attr = SortAttr.NICKNAME
 
         connection_line = entry.get_lines()[0]
 
-        if attr == entries.SortAttr.IP_ADDRESS:
+        if attr == SortAttr.IP_ADDRESS:
           if entry.is_private():
             return 255 ** 4  # orders at the end
 
@@ -179,17 +192,17 @@ class ConnectionPanel(panel.Panel, threading.Thread):
             ip_value = ip_value * 255 + int(octet)
 
           return ip_value * 65536 + connection_line.connection.remote_port
-        elif attr == entries.SortAttr.PORT:
+        elif attr == SortAttr.PORT:
           return connection_line.connection.remote_port
-        elif attr == entries.SortAttr.FINGERPRINT:
+        elif attr == SortAttr.FINGERPRINT:
           return connection_line.get_fingerprint('UNKNOWN')
-        elif attr == entries.SortAttr.NICKNAME:
+        elif attr == SortAttr.NICKNAME:
           return connection_line.get_nickname('z' * 20)
-        elif attr == entries.SortAttr.CATEGORY:
+        elif attr == SortAttr.CATEGORY:
           return conn_entry.Category.index_of(entry.get_type())
-        elif attr == entries.SortAttr.UPTIME:
+        elif attr == SortAttr.UPTIME:
           return connection_line.connection.start_time
-        elif attr == entries.SortAttr.COUNTRY:
+        elif attr == SortAttr.COUNTRY:
           return '' if entry.is_private() else connection_line.get_locale('')
         else:
           return ''
@@ -221,7 +234,7 @@ class ConnectionPanel(panel.Panel, threading.Thread):
 
       # if we're sorting by the listing then we need to resort
 
-      if entries.SortAttr.LISTING in CONFIG['features.connection.order']:
+      if SortAttr.LISTING in CONFIG['features.connection.order']:
         self.set_sort_order()
 
   def show_sort_dialog(self):
@@ -232,9 +245,9 @@ class ConnectionPanel(panel.Panel, threading.Thread):
     # set ordering for connection options
 
     title_label = 'Connection Ordering:'
-    options = list(entries.SortAttr)
+    options = list(SortAttr)
     old_selection = CONFIG['features.connection.order']
-    option_colors = dict([(attr, entries.SORT_COLORS[attr]) for attr in options])
+    option_colors = dict([(attr, SORT_COLORS[attr]) for attr in options])
     results = nyx.popups.show_sort_dialog(title_label, options, old_selection, option_colors)
 
     if results:
diff --git a/nyx/connections/entries.py b/nyx/connections/entries.py
index 91994bc..4c6fa9c 100644
--- a/nyx/connections/entries.py
+++ b/nyx/connections/entries.py
@@ -9,7 +9,7 @@ import nyx.util.tracker
 from nyx.util import tor_controller
 
 from stem.control import Listener
-from stem.util import conf, enum
+from stem.util import conf
 
 try:
   # added in python 3.2
@@ -17,19 +17,6 @@ try:
 except ImportError:
   from stem.util.lru_cache import lru_cache
 
-SortAttr = enum.Enum('CATEGORY', 'UPTIME', 'LISTING', 'IP_ADDRESS', 'PORT', 'FINGERPRINT', 'NICKNAME', 'COUNTRY')
-
-SORT_COLORS = {
-  SortAttr.CATEGORY: 'red',
-  SortAttr.UPTIME: 'yellow',
-  SortAttr.LISTING: 'green',
-  SortAttr.IP_ADDRESS: 'blue',
-  SortAttr.PORT: 'blue',
-  SortAttr.FINGERPRINT: 'cyan',
-  SortAttr.NICKNAME: 'cyan',
-  SortAttr.COUNTRY: 'blue',
-}
-
 CONFIG = conf.config_dict('nyx', {
   'features.connection.showIps': True,
 })





More information about the tor-commits mailing list