# -*- coding: utf-8 -*- """ Some really common helper functions """ # # Pretty formating helpers # def pretty_format_value(value, encoding='utf8'): """ Returned pretty formated value to display """ if isinstance(value, dict): return pretty_format_dict(value) if isinstance(value, list): return ",".join([pretty_format_value(x) for x in value]) if isinstance(value, bytes): return "'%s'" % value.decode(encoding, errors='replace') if isinstance(value, str): return "'%s'" % value return str(value) def pretty_format_dict(attrs): """ Returned pretty formated dict to display """ result = [] for attr in sorted(attrs.keys()): result.append(" - %s : %s" % (attr, pretty_format_value(attrs[attr]))) return "\n".join(result) def pretty_format_list(row): """ Returned pretty formated list to display """ result = [] for idx, values in enumerate(row): result.append(" - #%s : %s" % (idx, pretty_format_value(values))) return "\n".join(result)