Use more groupings for config pprinting
This commit is contained in:
44
anvil/cfg.py
44
anvil/cfg.py
@@ -144,50 +144,6 @@ class ProxyConfig(object):
|
|||||||
def getboolean(self, section, option):
|
def getboolean(self, section, option):
|
||||||
return utils.make_bool(self.getdefaulted(section, option))
|
return utils.make_bool(self.getdefaulted(section, option))
|
||||||
|
|
||||||
def pprint(self, group_by, order_by):
|
|
||||||
"""
|
|
||||||
Dumps the given config key value cache in the
|
|
||||||
order that stack is defined to group that cache
|
|
||||||
in a nice and pretty manner.
|
|
||||||
|
|
||||||
Arguments:
|
|
||||||
config_cache: map of items to group and then pretty print
|
|
||||||
"""
|
|
||||||
if not self.cache_enabled:
|
|
||||||
return
|
|
||||||
|
|
||||||
LOG.debug("Grouping by %s", group_by.keys())
|
|
||||||
LOG.debug("Ordering by %s", order_by)
|
|
||||||
|
|
||||||
def item_format(key, value):
|
|
||||||
return "\t%s=%s" % (str(key), str(value))
|
|
||||||
|
|
||||||
def map_print(mp):
|
|
||||||
for key in sorted(mp.keys()):
|
|
||||||
value = mp.get(key)
|
|
||||||
LOG.info(item_format(key, value))
|
|
||||||
|
|
||||||
# First partition into our groups
|
|
||||||
partitions = dict()
|
|
||||||
for name in group_by.keys():
|
|
||||||
partitions[name] = dict()
|
|
||||||
|
|
||||||
# Now put the config cached values into there partitions
|
|
||||||
for (k, v) in self.cache.items():
|
|
||||||
for name in order_by:
|
|
||||||
entries = partitions[name]
|
|
||||||
if k.startswith(name):
|
|
||||||
entries[k] = v
|
|
||||||
break
|
|
||||||
|
|
||||||
# Now print them..
|
|
||||||
for name in order_by:
|
|
||||||
nice_name = group_by.get(name, "???")
|
|
||||||
LOG.info(nice_name + ":")
|
|
||||||
entries = partitions.get(name)
|
|
||||||
if entries:
|
|
||||||
map_print(entries)
|
|
||||||
|
|
||||||
def set(self, section, option, value):
|
def set(self, section, option, value):
|
||||||
for resolver in self.set_resolvers:
|
for resolver in self.set_resolvers:
|
||||||
LOG.debug("Setting %r to %s using resolver %s", cfg_helpers.make_id(section, option), value, resolver)
|
LOG.debug("Setting %r to %s using resolver %s", cfg_helpers.make_id(section, option), value, resolver)
|
||||||
|
|||||||
@@ -21,6 +21,44 @@ from anvil import shell as sh
|
|||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
def pprint(cfg_cache, group_by, order_by):
|
||||||
|
|
||||||
|
if not cfg_cache:
|
||||||
|
return
|
||||||
|
|
||||||
|
LOG.debug("Grouping by %s", group_by.keys())
|
||||||
|
LOG.debug("Ordering by %s", order_by)
|
||||||
|
|
||||||
|
def item_format(key, value):
|
||||||
|
return "\t%s=%s" % (str(key), str(value))
|
||||||
|
|
||||||
|
def map_print(mp):
|
||||||
|
for key in sorted(mp.keys()):
|
||||||
|
value = mp.get(key)
|
||||||
|
LOG.info(item_format(key, value))
|
||||||
|
|
||||||
|
# First partition into our groups
|
||||||
|
partitions = dict()
|
||||||
|
for name in group_by.keys():
|
||||||
|
partitions[name] = dict()
|
||||||
|
|
||||||
|
# Now put the config cached values into there partitions
|
||||||
|
for (k, v) in self.cache.items():
|
||||||
|
for name in order_by:
|
||||||
|
entries = partitions[name]
|
||||||
|
if k.startswith(name):
|
||||||
|
entries[k] = v
|
||||||
|
break
|
||||||
|
|
||||||
|
# Now print them..
|
||||||
|
for name in order_by:
|
||||||
|
nice_name = group_by.get(name, "???")
|
||||||
|
LOG.info(nice_name + ":")
|
||||||
|
entries = partitions.get(name)
|
||||||
|
if entries:
|
||||||
|
map_print(entries)
|
||||||
|
|
||||||
|
|
||||||
def make_id(section, option):
|
def make_id(section, option):
|
||||||
joinwhat = []
|
joinwhat = []
|
||||||
if section is not None:
|
if section is not None:
|
||||||
|
|||||||
14
smithy
14
smithy
@@ -41,10 +41,16 @@ LOG = logging.getLogger(__name__)
|
|||||||
|
|
||||||
# The grouping of our pretty printing of config
|
# The grouping of our pretty printing of config
|
||||||
CFG_GROUPS = {
|
CFG_GROUPS = {
|
||||||
cfg_helpers.make_id('passwords', None): 'Passwords',
|
cfg_helpers.make_id('db', None): 'Database:',
|
||||||
cfg_helpers.make_id('db', None): 'Database info',
|
cfg_helpers.make_id('git', None): 'Git:',
|
||||||
|
cfg_helpers.make_id('glance', None): 'Glance:',
|
||||||
|
cfg_helpers.make_id('horizon', None): 'Horizon:',
|
||||||
|
cfg_helpers.make_id('keystone', None): 'Keystone:',
|
||||||
|
cfg_helpers.make_id('nova', None): 'Nova:',
|
||||||
|
cfg_helpers.make_id('passwords', None): 'Passwords:',
|
||||||
|
cfg_helpers.make_id('rabbit', None): 'Rabbit-mq:',
|
||||||
# Catch all
|
# Catch all
|
||||||
cfg_helpers.make_id(None, None): 'Misc configs',
|
cfg_helpers.make_id(None, None): 'Misc:',
|
||||||
}
|
}
|
||||||
|
|
||||||
# The order in which we will pretty print our config cache
|
# The order in which we will pretty print our config cache
|
||||||
@@ -215,7 +221,7 @@ def run(args):
|
|||||||
colorizer.quote(pretty_time['seconds']), colorizer.quote(pretty_time['minutes']), colorizer.quote(action))
|
colorizer.quote(pretty_time['seconds']), colorizer.quote(pretty_time['minutes']), colorizer.quote(action))
|
||||||
LOG.info("After action %s your settings which were created or read are:", colorizer.quote(action))
|
LOG.info("After action %s your settings which were created or read are:", colorizer.quote(action))
|
||||||
|
|
||||||
config.pprint(CFG_GROUPS, CFG_ORDERING)
|
cfg_helpers.pprint(config.cache, CFG_GROUPS, CFG_ORDERING)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user