Support for Metadata Definitions Catalog API
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>
This commit is contained in:
committed by
Travis Tripp
parent
16077d91dd
commit
33dcea81b2
@@ -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')))
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user