diff options
author | Jehiah Czebotar <jehiah@gmail.com> | 2010-10-22 11:31:43 -0400 |
---|---|---|
committer | Jehiah Czebotar <jehiah@gmail.com> | 2010-10-22 11:31:43 -0400 |
commit | 352c13f265e718d728703d9f64151d2ab274585f (patch) | |
tree | e8188e794a8c342af70ef3d00bd88a87f9c0a4a6 | |
parent | 6165b8eddf8a2cd48ecb288d5aefa9ea2c48c295 (diff) | |
download | data_hacks-352c13f265e718d728703d9f64151d2ab274585f.zip data_hacks-352c13f265e718d728703d9f64151d2ab274585f.tar.gz data_hacks-352c13f265e718d728703d9f64151d2ab274585f.tar.bz2 |
fix sort commands for bar_charts.py and add a --reverse-sort. closes #1
-rw-r--r-- | data_hacks/bar_chart.py | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/data_hacks/bar_chart.py b/data_hacks/bar_chart.py index 5777224..9bebc4c 100644 --- a/data_hacks/bar_chart.py +++ b/data_hacks/bar_chart.py @@ -55,14 +55,17 @@ def run(input_stream, options): print "# each * represents a count of %d" % scale - if options.sort_keys: - data = [[key,value] for key,value in data.items()] - data.sort() - data = [[value, key] for key,value in data] - else: + if options.sort_values: # sort by values data = [[value,key] for key,value in data.items()] - data.sort(reverse=True) + if options.reverse_sort: + data.sort(reverse=True) + else: + data.sort() + else: + data = [[key,value] for key,value in data.items()] + data.sort(reverse=options.reverse_sort) + data = [[value, key] for key,value in data] format = "%" + str(max_length) + "s [%6d] %s" for value,key in data: print format % (key[:max_length], value, (value / scale) * "*") @@ -74,6 +77,8 @@ if __name__ == "__main__": help="sort by the key [default]") parser.add_option("-v", "--sort-values", dest="sort_values", default=False, action="store_true", help="sort by the frequence") + parser.add_option("-r", "--reverse-sort", dest="reverse_sort", default=False, action="store_true", + help="reverse the sort") (options, args) = parser.parse_args() |