# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: chuck.bell@oracle.com-20110104025628-vjb5v0arlvzwxz23 # target_branch: file:///Users/cbell/source/bzr_public/mysql-\ # utilities/ # testament_sha1: c115c1c792f3a09e505a6799f3cfaa4ebcc04f2e # timestamp: 2011-01-03 21:58:05 -0500 # base_revision_id: chuck.bell@oracle.com-20101213191938-\ # q0qu6ps9m96fe2dh # # Begin patch === modified file 'mysql/utilities/common/format.py' --- mysql/utilities/common/format.py 2010-12-03 21:52:48 +0000 +++ mysql/utilities/common/format.py 2011-01-04 02:56:28 +0000 @@ -53,10 +53,14 @@ quiet[in] if True, do not print """ i = 0 + num_cols = len(columns) for col in columns: if not quiet: file.write("| ") - file.write("{0:<{1}} ".format("%s" % row[i], col_widths[i])) + if num_cols == 1: + file.write("{0:<{1}} ".format("%s" % row, col_widths[i])) + else: + file.write("{0:<{1}} ".format("%s" % row[i], col_widths[i])) i += 1 if not quiet: file.write("|") @@ -101,14 +105,22 @@ stop = len(columns) for row in rows: for i in range(0, stop): - col_size = len("%s" % row[i]) + 1 + if stop == 1: + col_size = len("%s" % row) + 1 + else: + col_size = len("%s" % row[i]) + 1 if col_size > col_widths[i]: col_widths[i] = col_size # print header if print_header: _format_col_separator(file, columns, col_widths, quiet) - _format_row_separator(file, columns, col_widths, columns, quiet) + if len(columns) == 1: + _format_row_separator(file, columns, col_widths, columns[0], + quiet) + else: + _format_row_separator(file, columns, col_widths, columns, + quiet) _format_col_separator(file, columns, col_widths, quiet) for row in rows: _format_row_separator(file, columns, col_widths, row, quiet) @@ -146,8 +158,12 @@ row_num, ' ', 8)) for i in range(0, stop): - file.write("{0:>{1}}: {2}\n".format(columns[i], max_colwidth, - row[i])) + if stop == 1: + file.write("{0:>{1}}: {2}\n".format(columns[i], max_colwidth, + row)) + else: + file.write("{0:>{1}}: {2}\n".format(columns[i], max_colwidth, + row[i])) if row_num > 0: file.write("%d rows.\n" % int(row_num)) === added file 'test/test/format_list.py' --- test/test/format_list.py 1970-01-01 00:00:00 +0000 +++ test/test/format_list.py 2011-01-04 02:56:28 +0000 @@ -0,0 +1,57 @@ +#!/usr/bin/env python + +import mysql_test +import os +import sys + +class test(mysql_test.System_test): + """Test format module + In this test, we execute the format_tabular_list and format_vertical_list + methods in the format module. + """ + + def check_prerequisites(self): + return self.check_num_servers(0) + + def setup(self): + self.test_file = open('format_test', 'w') + return True + + def run(self): + + from mysql.utilities.common.format import format_tabular_list + from mysql.utilities.common.format import format_vertical_list + + rows_1 = ['one','two','three'] + cols_1 = ['a'] + rows_2 = [('one',None),('two',None),('three',None)] + cols_2 = ['a','b'] + rows_3 = [('one',None,31),('two',None,32),('three',None,33)] + cols_3 = ['a','b','c'] + + format_tabular_list(self.test_file, cols_1, rows_1, True) + format_tabular_list(self.test_file, cols_2, rows_2, True) + format_tabular_list(self.test_file, cols_3, rows_3, True) + format_vertical_list(self.test_file, cols_1, rows_1) + format_vertical_list(self.test_file, cols_2, rows_2) + format_vertical_list(self.test_file, cols_3, rows_3) + self.test_file.close() + + self.test_file = open('format_test', 'r') + for line in self.test_file.readlines(): + self.results.append(line) + self.test_file.close() + + return True + + def get_result(self): + return self.compare(__name__, self.results) + + def record(self): + return self.save_result_file(__name__, self.results) + + def cleanup(self): + os.unlink('format_test') + return True + + === added file 'test/test/format_list.result' --- test/test/format_list.result 1970-01-01 00:00:00 +0000 +++ test/test/format_list.result 2011-01-04 02:56:28 +0000 @@ -0,0 +1,51 @@ ++--------+ +| a | ++--------+ +| one | +| two | +| three | ++--------+ ++--------+-------+ +| a | b | ++--------+-------+ +| one | None | +| two | None | +| three | None | ++--------+-------+ ++--------+-------+-----+ +| a | b | c | ++--------+-------+-----+ +| one | None | 31 | +| two | None | 32 | +| three | None | 33 | ++--------+-------+-----+ +************************* 1. row ************************* + a: one +************************* 2. row ************************* + a: two +************************* 3. row ************************* + a: three +3 rows. +************************* 1. row ************************* + a: one + b: None +************************* 2. row ************************* + a: two + b: None +************************* 3. row ************************* + a: three + b: None +3 rows. +************************* 1. row ************************* + a: one + b: None + c: 31 +************************* 2. row ************************* + a: two + b: None + c: 32 +************************* 3. row ************************* + a: three + b: None + c: 33 +3 rows. # Begin bundle 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