summaryrefslogtreecommitdiff
path: root/glanceclient/common/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'glanceclient/common/utils.py')
-rw-r--r--glanceclient/common/utils.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/glanceclient/common/utils.py b/glanceclient/common/utils.py
index 4084e0e..1691264 100644
--- a/glanceclient/common/utils.py
+++ b/glanceclient/common/utils.py
@@ -173,6 +173,34 @@ def pretty_choice_list(l):
return ', '.join("'%s'" % i for i in l)
+def has_version(client, version):
+ versions = client.get('/versions')[1].get('versions')
+ supported = ['SUPPORTED', 'CURRENT']
+ for version_struct in versions:
+ if version_struct['id'] == version:
+ return version_struct['status'] in supported
+ return False
+
+
+def print_dict_list(objects, fields):
+ pt = prettytable.PrettyTable([f for f in fields], caching=False)
+ pt.align = 'l'
+ for o in objects:
+ row = []
+ for field in fields:
+ field_name = field.lower().replace(' ', '_')
+ # NOTE (abhishekk) mapping field to actual name in the
+ # structure.
+ if field_name == 'task_id':
+ field_name = 'id'
+ data = o.get(field_name, '')
+ row.append(data)
+
+ pt.add_row(row)
+
+ print(encodeutils.safe_decode(pt.get_string()))
+
+
def print_list(objs, fields, formatters=None, field_settings=None):
'''Prints a list of objects.