Skip to content

Instantly share code, notes, and snippets.

Created November 29, 2013 17:35
Show Gist options
  • Save anonymous/7709208 to your computer and use it in GitHub Desktop.
Save anonymous/7709208 to your computer and use it in GitHub Desktop.
diff --git a/ceilometerclient/common/utils.py b/ceilometerclient/common/utils.py
index 2d3176b..c951e39 100644
--- a/ceilometerclient/common/utils.py
+++ b/ceilometerclient/common/utils.py
@@ -50,7 +50,8 @@ def pretty_choice_list(l):
return ', '.join("'%s'" % i for i in l)
-def print_list(objs, fields, field_labels, formatters={}, sortby=0):
+def print_list(objs, fields, field_labels, formatters={}, sortby=0,
+ reversesort=False):
def _make_default_formatter(field):
return lambda o: getattr(o, field, '')
@@ -64,7 +65,8 @@ def print_list(objs, fields, field_labels, formatters={}, sortby=0):
cliutils.print_list(objs, field_labels,
formatters=new_formatters,
- sortby_index=sortby)
+ sortby_index=sortby,
+ reversesort=reversesort)
def print_dict(d, dict_property="Property", wrap=0):
diff --git a/ceilometerclient/openstack/common/cliutils.py b/ceilometerclient/openstack/common/cliutils.py
index a6cc2ac..4832a88 100644
--- a/ceilometerclient/openstack/common/cliutils.py
+++ b/ceilometerclient/openstack/common/cliutils.py
@@ -128,7 +128,7 @@ def isunauthenticated(func):
def print_list(objs, fields, formatters=None, sortby_index=0,
- mixed_case_fields=None):
+ mixed_case_fields=None, reversesort=False):
"""Print a list or objects as a table, one row per object.
:param objs: iterable of :class:`Resource`
@@ -161,7 +161,8 @@ def print_list(objs, fields, formatters=None, sortby_index=0,
row.append(data)
pt.add_row(row)
- print(strutils.safe_encode(pt.get_string(sortby=sortby)))
+ print(strutils.safe_encode(pt.get_string(sortby=sortby,
+ reversesort=reversesort)))
def print_dict(dct, dict_property="Property", wrap=0):
diff --git a/ceilometerclient/v2/shell.py b/ceilometerclient/v2/shell.py
index a4cec33..03e46f4 100644
--- a/ceilometerclient/v2/shell.py
+++ b/ceilometerclient/v2/shell.py
@@ -80,7 +80,8 @@ def do_sample_list(cc, args):
fields = ['resource_id', 'counter_name', 'counter_type',
'counter_volume', 'counter_unit', 'timestamp']
utils.print_list(samples, fields, field_labels,
- sortby=None)
+ sortby=fields.index('timestamp'),
+ reversesort=True)
@utils.arg('--project-id', metavar='<PROJECT_ID>',
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment