示例#1
0
文件: format.py 项目: cfm/pypsi
        def write_overflow(row):
            overflow = [''] * len(self.columns)
            column_idx = 0
            for (col, value) in zip(self.columns, row):
                if column_idx > 0:
                    fp.write(' ' * self.spacing)
                if isinstance(value, str):
                    pass
                else:
                    value = str(value)
                if(ansi_len(value) <= col.width):
                    fp.write(ansi_ljust(value, col.width))
                else:
                    wrapped_line = [
                        line for line in wrap_line(value, col.width)
                    ]
                    if len(wrapped_line) > 1:
                        overflow[column_idx] = ' '.join(wrapped_line[1:])
                    fp.write(wrapped_line[0])
                # Move to next column
                column_idx += 1
            fp.write('\n')

            # deal with overflowed data
            if ''.join(overflow):
                write_overflow(overflow)
示例#2
0
        def write_overflow(row):
            overflow = [''] * len(self.columns)
            column_idx = 0
            for (col, value) in zip(self.columns, row):
                if column_idx > 0:
                    fp.write(' ' * self.spacing)
                if isinstance(value, str):
                    pass
                else:
                    value = str(value)
                if (ansi_len(value) <= col.width):
                    fp.write(ansi_ljust(value, col.width))
                else:
                    wrapped_line = [
                        line for line in wrap_line(value, col.width)
                    ]
                    if len(wrapped_line) > 1:
                        overflow[column_idx] = ' '.join(wrapped_line[1:])
                    fp.write(wrapped_line[0])
                # Move to next column
                column_idx += 1
            fp.write('\n')

            # deal with overflowed data
            if ''.join(overflow):
                write_overflow(overflow)
示例#3
0
文件: format.py 项目: cfm/pypsi
 def __init__(self, text='', mode=0):
     '''
     :param str text: the column name
     :param int mode: the column size mode
     '''
     self.text = text
     self.mode = mode
     self.width = ansi_len(text)
示例#4
0
 def __init__(self, text='', mode=0):
     '''
     :param str text: the column name
     :param int mode: the column size mode
     '''
     self.text = text
     self.mode = mode
     self.width = ansi_len(text)
示例#5
0
文件: format.py 项目: cfm/pypsi
    def append(self, *args):
        '''
        Add a row to the table.

        :param list args: the column values
        '''
        self.rows.append(args)
        for (col, value) in zip(self.columns, args):
            col.width = max(col.width, ansi_len(str(value)))
        return self
示例#6
0
    def append(self, *args):
        '''
        Add a row to the table.

        :param list args: the column values
        '''
        self.rows.append(args)
        for (col, value) in zip(self.columns, args):
            col.width = max(col.width, ansi_len(str(value)))
        return self