diff options
author | Pawel Koniszewski <pawel.koniszewski@intel.com> | 2014-09-03 07:37:45 -0400 |
---|---|---|
committer | Travis Tripp <travis.tripp@hp.com> | 2014-09-03 11:45:57 -0600 |
commit | 33dcea81b2f2ac5f643c0153c5a70cfec2008555 (patch) | |
tree | 64203b2dbc3bfd9bdaaa47b5372723a2f347bbb6 /glanceclient/common/utils.py | |
parent | 16077d91ddfeebe77a3c6d7fedc7125ddff17bdb (diff) | |
download | python-glanceclient-33dcea81b2f2ac5f643c0153c5a70cfec2008555.tar.gz |
Support for Metadata Definitions Catalog API0.14.0
API calls and shell commands added in this patch:
- CRUD for metadefs namespaces;
- CRUD for metadefs objects;
- CRUD for metadefs properites;
- CRD for metadefs resource types and resource type associations.
Change-Id: I6d15f749038e8fd24fc651f0b314df5be7c673ef
Implements: blueprint metadata-schema-catalog-support
Co-Authored-By: Facundo Maldonado <facundo.n.maldonado@intel.com>
Co-Authored-By: Michal Dulko <michal.dulko@intel.com>
Co-Authored-By: Lakshmi N Sampath <lakshmi.sampath@hp.com>
Co-Authored-By: Pawel Koniszewski <pawel.koniszewski@intel.com>
Diffstat (limited to 'glanceclient/common/utils.py')
-rw-r--r-- | glanceclient/common/utils.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/glanceclient/common/utils.py b/glanceclient/common/utils.py index f13efad..9071065 100644 --- a/glanceclient/common/utils.py +++ b/glanceclient/common/utils.py @@ -17,6 +17,7 @@ from __future__ import print_function import errno import hashlib +import json import os import re import sys @@ -106,14 +107,20 @@ def pretty_choice_list(l): return ', '.join("'%s'" % i for i in l) -def print_list(objs, fields, formatters=None): +def print_list(objs, fields, formatters=None, field_settings=None): formatters = formatters or {} + field_settings = field_settings or {} pt = prettytable.PrettyTable([f for f in fields], caching=False) pt.align = 'l' for o in objs: row = [] for field in fields: + if field in field_settings: + for setting, value in six.iteritems(field_settings[field]): + setting_dict = getattr(pt, setting) + setting_dict[field] = value + if field in formatters: row.append(formatters[field](o)) else: @@ -129,7 +136,10 @@ def print_dict(d, max_column_width=80): pt = prettytable.PrettyTable(['Property', 'Value'], caching=False) pt.align = 'l' pt.max_width = max_column_width - [pt.add_row(list(r)) for r in six.iteritems(d)] + for k, v in six.iteritems(d): + if isinstance(v, (dict, list)): + v = json.dumps(v) + pt.add_row([k, v]) print(strutils.safe_encode(pt.get_string(sortby='Property'))) |