def print_list(objs, fields, formatters={}): mixed_case_fields = ['serverId'] pt = prettytable.PrettyTable([f for f in fields], caching=False) pt.aligns = ['l' for f in fields] for o in objs: row = [] for field in fields: if field in formatters: row.append(formatters[field](o)) else: if field in mixed_case_fields: field_name = field.replace(' ', '_') else: field_name = field.lower().replace(' ', '_') data = getattr(o, field_name, '') row.append(data) pt.add_row(row) if len(objs) > 0: print strutils.safe_encode(pt.get_string(sortby=fields[0]))
def main(): print 'JIYOU main() in monitorclient/shell.py' try: OpenStackVsmShell().main(map(strutils.safe_decode, sys.argv[1:])) except KeyboardInterrupt: print >> sys.stderr, "... terminating monitor client" sys.exit(130) except Exception, e: logger.debug(e, exc_info=1) message = e.message if not isinstance(message, basestring): message = str(message) print >> sys.stderr, "ERROR: %s" % strutils.safe_encode(message) sys.exit(1)
def main(): print 'JIYOU main() in monitorclient/shell.py' try: OpenStackMonitorShell().main(map(strutils.safe_decode, sys.argv[1:])) except KeyboardInterrupt: print >> sys.stderr, "... terminating monitor client" sys.exit(130) except Exception, e: logger.debug(e, exc_info=1) message = e.message if not isinstance(message, basestring): message = str(message) print >> sys.stderr, "ERROR: %s" % strutils.safe_encode(message) sys.exit(1)
def print_dict(d, property="Property"): pt = prettytable.PrettyTable([property, 'Value'], caching=False) pt.aligns = ['l', 'l'] [pt.add_row(list(r)) for r in d.iteritems()] print strutils.safe_encode(pt.get_string(sortby=property))