初始提交
This commit is contained in:
@@ -0,0 +1,133 @@
|
||||
from cli.tui.copy.fragments import (
|
||||
APP_BINDING_LABELS,
|
||||
GENERAL_COPY,
|
||||
INTERNAL_BINDING_LABELS,
|
||||
NAVIGATION_DESCRIPTIONS,
|
||||
STATUS_LABELS,
|
||||
VIEW_LABELS,
|
||||
)
|
||||
|
||||
|
||||
class TuiNavigationCopyMixin:
|
||||
"""
|
||||
TUI 导航与基础标签文案混入。
|
||||
"""
|
||||
|
||||
@staticmethod
|
||||
def render_view_label(view_key: str) -> str:
|
||||
"""
|
||||
将内部视图标识转换为中文显示名称。
|
||||
|
||||
:param view_key: 视图标识
|
||||
:return: 中文视图名称
|
||||
"""
|
||||
normalized_view = str(view_key).strip().lower()
|
||||
return VIEW_LABELS.get(normalized_view, view_key)
|
||||
|
||||
@staticmethod
|
||||
def render_status_label(status: str, fallback: str = '信息') -> str:
|
||||
"""
|
||||
将状态值转换为中文显示文本。
|
||||
|
||||
:param status: 原始状态值
|
||||
:param fallback: 缺失时兜底文本
|
||||
:return: 中文状态文本
|
||||
"""
|
||||
normalized_status = str(status).strip().lower()
|
||||
if not normalized_status:
|
||||
return fallback
|
||||
return STATUS_LABELS.get(normalized_status, str(status).strip().upper())
|
||||
|
||||
@staticmethod
|
||||
def render_status_code(status: str) -> str:
|
||||
"""
|
||||
将状态值转换为控制台风格状态码。
|
||||
|
||||
:param status: 原始状态值
|
||||
:return: 状态码文本
|
||||
"""
|
||||
normalized_status = str(status).strip().lower()
|
||||
status_code_mapping = {
|
||||
'ok': 'SYS.OK',
|
||||
'success': 'SYS.OK',
|
||||
'healthy': 'SYS.OK',
|
||||
'fail': 'SYS.FAIL',
|
||||
'error': 'SYS.FAIL',
|
||||
'down': 'SYS.FAIL',
|
||||
'warn': 'SYS.WARN',
|
||||
'warning': 'SYS.WARN',
|
||||
'degraded': 'SYS.WARN',
|
||||
'info': 'SYS.INFO',
|
||||
}
|
||||
return status_code_mapping.get(normalized_status, f'SYS.{normalized_status.upper() or "INFO"}')
|
||||
|
||||
@staticmethod
|
||||
def render_navigation_description(view_key: str) -> str:
|
||||
"""
|
||||
获取指定视图的导航说明。
|
||||
|
||||
:param view_key: 视图标识
|
||||
:return: 导航说明
|
||||
"""
|
||||
normalized_view = str(view_key).strip().lower()
|
||||
return NAVIGATION_DESCRIPTIONS.get(normalized_view, '')
|
||||
|
||||
@staticmethod
|
||||
def build_tui_command_help() -> str:
|
||||
"""
|
||||
构建 `shierfeng tui` 命令帮助文案。
|
||||
|
||||
:return: 命令帮助文案
|
||||
"""
|
||||
return GENERAL_COPY['tui_command_help']
|
||||
|
||||
@staticmethod
|
||||
def build_missing_dependency_message() -> str:
|
||||
"""
|
||||
构建 TUI 可选依赖缺失时的提示消息。
|
||||
|
||||
:return: 缺依赖提示消息
|
||||
"""
|
||||
return GENERAL_COPY['tui_missing_dependency_message']
|
||||
|
||||
@staticmethod
|
||||
def build_missing_dependency_hint() -> str:
|
||||
"""
|
||||
构建 TUI 可选依赖缺失时的恢复建议。
|
||||
|
||||
:return: 恢复建议文案
|
||||
"""
|
||||
return GENERAL_COPY['tui_missing_dependency_hint']
|
||||
|
||||
@staticmethod
|
||||
def build_app_binding_label(binding_key: str) -> str:
|
||||
"""
|
||||
根据绑定标识构建应用级快捷键标签文案。
|
||||
|
||||
:param binding_key: 绑定标识
|
||||
:return: 快捷键标签文案
|
||||
"""
|
||||
normalized_key = str(binding_key).strip().lower()
|
||||
return APP_BINDING_LABELS.get(normalized_key, normalized_key)
|
||||
|
||||
@staticmethod
|
||||
def build_confirm_binding_label(binding_key: str) -> str:
|
||||
"""
|
||||
根据确认弹窗绑定标识构建快捷键标签文案。
|
||||
|
||||
:param binding_key: 绑定标识
|
||||
:return: 快捷键标签文案
|
||||
"""
|
||||
normalized_key = str(binding_key).strip().lower()
|
||||
return INTERNAL_BINDING_LABELS.get(f'confirm_{normalized_key}', normalized_key)
|
||||
|
||||
@staticmethod
|
||||
def build_internal_binding_label(binding_key: str) -> str:
|
||||
"""
|
||||
根据内部交互绑定标识构建快捷键标签文案。
|
||||
|
||||
:param binding_key: 绑定标识
|
||||
:return: 快捷键标签文案
|
||||
"""
|
||||
normalized_key = str(binding_key).strip().lower()
|
||||
return INTERNAL_BINDING_LABELS.get(normalized_key, normalized_key)
|
||||
Reference in New Issue
Block a user