[tor-commits] [compass/master] Added support for 'short' option.

karsten at torproject.org karsten at torproject.org
Mon Jan 7 07:09:40 UTC 2013


commit e423c98fb65ad8d6cbaa2788547b950dd8612062
Author: Chris Wacek <cwacek at cs.georgetown.edu>
Date:   Fri Dec 21 14:09:35 2012 -0500

    Added support for 'short' option.
    
    Of note, I don't understand why the short option exists.
---
 compass.py |   28 ++++++++++++++++------------
 1 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/compass.py b/compass.py
index 1eadaf3..370a912 100755
--- a/compass.py
+++ b/compass.py
@@ -255,7 +255,7 @@ class RelayStats(object):
 
     def print_selection(self,selection,options):
       """
-      Print the selection returned by sort_and_reduce relays into a
+      Print the selection returned by sort_and_reduce relays into a 
       string for the command line version.
       """
       column_widths = [9,10,10,10,10,21,80 if options.links else 42,7,7,4,11]
@@ -264,24 +264,28 @@ class RelayStats(object):
                   "Exit","Guard","CC", "Autonomous System"]
 
       #Print the header
-      print("".join(word.ljust(column_widths[i]) for i,word in enumerate(headings)))
+      header = "".join(word.ljust(column_widths[i]) for i,word in enumerate(headings))
+      print(header[:options.short])
 
       for relay in selection['results']:
-        print("".join(field.ljust(column_widths[i])
+        line = "".join(field.ljust(column_widths[i])
               for i,field in
-              enumerate(relay.printable_fields(options.links))))
+              enumerate(relay.printable_fields(options.links)))
+        print(line[:options.short])
 
       #Print the 'excluded' set if we have it
       if selection['excluded']:
-        print("".join(field.ljust(column_widths[i])
+        line = "".join(field.ljust(column_widths[i])
               for i,field in
-              enumerate(selection['excluded'].printable_fields())))
+              enumerate(selection['excluded'].printable_fields()))
+        print(line[:options.short])
 
       #Print the 'total' set if we have it
       if selection['total']:
-        print("".join(field.ljust(column_widths[i])
+        line = "".join(field.ljust(column_widths[i])
               for i,field in
-              enumerate(selection['total'].printable_fields())))
+              enumerate(selection['total'].printable_fields()))
+        print(line[:options.short])
 
     def sort_and_reduce(self, relay_set, options):
       """
@@ -289,10 +293,10 @@ class RelayStats(object):
       filtered), sort it and return the ones requested
       in the 'top' option.  Add index numbers to them as well.
 
-      Returns a hash with three values:
+      Returns a hash with three values: 
         *results*: A list of Result objects representing the selected
                    relays
-        *excluded*: A Result object representing the stats for the
+        *excluded*: A Result object representing the stats for the 
                     filtered out relays. May be None
         *total*: A Result object representing the stats for all of the
                  relays in this filterset.
@@ -304,7 +308,7 @@ class RelayStats(object):
       # We need a simple sorting key function
       def sort_fn(r):
         return getattr(r,options.sort)
-
+      
       relay_set.sort(key=sort_fn,reverse=options.sort_reverse)
 
       if options.top < 0:
@@ -568,7 +572,7 @@ def create_option_parser():
                               "nick","fp"],
                      default="cw",
                      help="sort by this field")
-    group.add_option("--sort_reverse", action="store_true", default=True,
+    group.add_option("--sort_reverse", action="store_true", default=True, 
                      help="invert the sorting order")
     parser.add_option_group(group)
     group = OptionGroup(parser, "Display options")





More information about the tor-commits mailing list