pkgship/0009-delete-terminal-fix-build-failed.patch
2022-01-10 11:01:56 +08:00

124 lines
5.4 KiB
Diff

diff --color -Nur a/packageship/application/cli/base.py b/packageship/application/cli/base.py
--- a/packageship/application/cli/base.py 2021-08-14 22:23:58.000000000 +0800
+++ b/packageship/application/cli/base.py 2022-01-09 11:17:09.842737171 +0800
@@ -30,7 +30,6 @@
else:
from packageship.application.common.constant import ResponseCode
from packageship.application.common.constant import ERROR_CON
- from packageship.libs.terminal_table import TerminalTable
class BaseCommand():
@@ -130,8 +129,7 @@
Raises:
"""
- table = TerminalTable(title)
- # table.set_style(prettytable.PLAIN_COLUMNS)
+ table = prettytable.PrettyTable(title)
table.align = 'l'
table.horizontal_char = '='
table.junction_char = '='
diff --color -Nur a/packageship/application/cli/cmd.py b/packageship/application/cli/cmd.py
--- a/packageship/application/cli/cmd.py 2021-08-14 22:23:58.000000000 +0800
+++ b/packageship/application/cli/cmd.py 2022-01-09 11:17:30.935093041 +0800
@@ -26,7 +26,6 @@
from packageship.application.common.constant import ResponseCode
from packageship.application.common.constant import ListNode
from packageship.application.common.constant import UWSIG_PATH
- from packageship.libs.terminal_table import TerminalTable
from packageship.application.common.constant import ERROR_CON
from packageship.application.cli.commands.allpkg import AllPackageCommand
from packageship.application.cli.commands.bedepend import BeDependCommand
diff --color -Nur a/packageship/libs/terminal_table.py b/packageship/libs/terminal_table.py
--- a/packageship/libs/terminal_table.py 2021-08-14 22:23:59.000000000 +0800
+++ b/packageship/libs/terminal_table.py 1970-01-01 08:00:00.000000000 +0800
@@ -1,87 +0,0 @@
-#!/usr/bin/python3
-# ******************************************************************************
-# Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved.
-# licensed under the Mulan PSL v2.
-# You can use this software according to the terms and conditions of the Mulan PSL v2.
-# You may obtain a copy of Mulan PSL v2 at:
-# http://license.coscl.org.cn/MulanPSL2
-# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
-# PURPOSE.
-# See the Mulan PSL v2 for more details.
-# ******************************************************************************/
-"""
-Description: Simple encapsulation of pretty table
-Class: TerminalTable
-"""
-import os
-from prettytable import PrettyTable
-
-
-class TerminalTable(PrettyTable):
- """
- Description: Rewrite several methods in prettytable
- Attributes:
- bottom:Bottom display
- _vertical_char:Draw characters with vertical edges
- """
-
- def __init__(self, field_names=None, **kwargs):
- super().__init__(field_names, **kwargs)
- self.bottom = kwargs.get('bottom') or False
- self._vertical_char = kwargs.get('vertical_char') or self._unicode("")
-
- def _reduce_widths(self, columns, lpad, rpad):
- """
- Description: Handling over-width columns
- Args:
- columns:columns
- lpad:The number of spaces to the left of the column data
- rpad:The number of spaces to the right of the column data
- Returns:
-
- """
- extra_width = sum(self._widths) - columns + (lpad + rpad) * len(self._widths)
- avg_width = columns / len(self._widths)
- gt_avg = filter(lambda x: x > avg_width, self._widths)
- denominator = sum(
- [(item - avg_width) / avg_width * 1.0 for item in gt_avg])
- zoom_width = list()
- for width in self._widths:
- if width > avg_width:
- width = round(width - ((width - avg_width) / avg_width * 1.0) /
- denominator * extra_width)
- zoom_width.append(width)
- self._widths = zoom_width
- if sum(self._widths) > columns:
- _max_val = max(self._widths)
- self._widths[self._widths.index(_max_val)] = _max_val - (sum(self._widths) - columns)
-
- def _compute_widths(self, rows, options):
- """
- Description: Calculated width
- Args:
- rows:row of data, should be a list with as many elements as the table
- options:option
- Returns:
-
- """
- super()._compute_widths(rows, options)
- lpad, rpad = self._get_padding_widths(options)
- # Total number of columns
- try:
- window_width = os.get_terminal_size().columns
- except OSError as os_error:
- window_width = 100
- _columns = window_width - len(self._widths) - 1
- if _columns < sum(map(lambda x: x + lpad + rpad, self._widths)):
- coefficient = 1
- self._reduce_widths(_columns, lpad, rpad)
- else:
- coefficient = _columns / (sum(map(lambda x: x, self._widths)) * 1.0)
- self._widths = list(
- map(lambda x: round(x * coefficient - lpad - rpad), self._widths))
- if sum(map(lambda x: x + lpad + rpad, self._widths)) > _columns:
- _max_val = max(self._widths)
- self._widths[self._widths.index(_max_val)] =\
- _max_val - (sum(map(lambda x: x + lpad + rpad, self._widths)) - _columns)