多分支 worktree 管理工具
Project description
ypp
多分支 worktree 管理工具(支持 krepo-ng 与 git)。
安装
pip install ypp
使用
- 创建 worktree:
ypp add <path> <branch>
这会在 ~/<path>/wpsmain 和 ~/<path>/wpsweb 下分别创建或切换到 <branch>。
- 列出 worktree:
ypp list
- 移除 worktree:
ypp remove <path>
这会移除 ~/<path>/wpsmain 和 ~/<path>/wpsweb 的 worktree,并删除整个 <path> 目录。
- 配置管理:
ypp set work_dir=~/workspace # 设置工作目录
ypp config # 显示当前配置
- 修改配置和生成构建脚本(仅限 Linux):
ypp modify # 修改 wpsweb/server/Makefile 和生成 build_server.sh
ypp modify --force # 强制在非 Linux 系统上运行(不推荐)
这会自动查找 wpsweb 目录,并执行以下操作:
- 修改
server/Makefile:- 去掉
-Wl,-s参数 - 将
-O2修改为-g
- 去掉
- 生成
build_server.sh:- 清空文件内容并写入构建脚本
- 动态替换路径变量(基于当前执行路径)
- 自动设置执行权限
注意:
modify命令仅在 Linux 系统上支持,因为它需要修改 Makefile 和生成 shell 脚本。
- 初始化仓库:
ypp init wpsmain # 初始化 wpsmain 仓库
ypp init wpsweb # 初始化 wpsweb 仓库
ypp init # 依次初始化 wpsmain 和 wpsweb 仓库
这会执行以下操作:
- wpsmain 初始化:在当前目录执行
krepo-ng init -b master_kso_v12 --bundle all - wpsweb 初始化:在当前目录执行
git clone git@ksogit.kingsoft.net:wow/wpsweb.git
- 自动编译 wpsmain:
ypp build # 自动编译 wpsmain
这会自动查找 wpsmain 目录,并在 Docker 中执行以下操作:
- 配置 weboffice:执行
krepo-ng config --new -x weboffice - 检查目录:验证
debug_weboffice目录是否创建成功 - 编译项目:在
debug_weboffice目录中执行krepo-ng build - 执行构建脚本:查找并执行
wpsweb/build_server.sh脚本
注意:
build命令需要在 Docker 环境中执行,使用kdocker -r qt5命令。
- 读取和清除 PPTX 文件属性:
ypp pptattr <filepath> # 读取 PPTX 文件属性
ypp pptattr <filepath> --clean # 清除指定属性并保存到原文件
这会执行以下操作:
- 读取属性:显示 PPTX 文件的核心属性、应用属性和自定义属性
- 清除属性(使用
--clean参数时):- 清除核心属性中的
lastModifiedBy - 清除自定义属性中的
ICV - 保持原有的 XML 结构,确保与 Office 应用程序兼容
- 自动保存到原文件
- 清除核心属性中的
注意:
pptattr命令只支持.pptx格式的文件。使用--clean参数会直接修改原文件,建议先备份。
- WSL 端口转发管理:
ypp wsl port <本机端口> <WSL端口> # 添加端口转发
ypp wsl port remove <本机端口> # 移除端口转发
ypp wsl port list # 列出所有端口转发规则
这会执行以下操作:
- 添加端口转发:将本机的指定端口转发到 WSL 中的指定端口
- 移除端口转发:删除指定的端口转发规则
- 列出规则:显示当前所有的端口转发规则
注意:
wsl port命令仅在 Windows 系统上支持。添加和移除端口转发需要管理员权限,系统会自动检测并请求权限。查看端口转发规则不需要管理员权限。
- 反馈导出管理:
ypp feedback export <Excel文件路径> # 从Excel文件导出WPP或P组件的对话详情
ypp feedback export <Excel文件路径> --sheet <表名> # 指定表名导出
ypp feedback format # 格式化客服原语,在特定关键词前添加换行符
这会执行以下操作:
export 命令:
- 读取Excel文件:
- 默认读取最新的sheet表(倒数第二个表)
- 可通过
--sheet或-s参数指定表名
- 查找满足条件的数据:在表中查找同时满足以下条件的行:
- 业务归属列为"AI"、"AI-会员"或"AI-365"
- 一级分类列为"演示"
- 提取对话详情:获取"对话详情1"列的文本内容
- 导出文件:将每个对话详情导出为独立的txt文件,文件名使用Excel行号
- 创建输出目录:在当前路径下创建"客服"文件夹存放导出的文件
format 命令:
- 遍历当前目录:自动查找当前路径下的所有txt文件
- 识别关键词:查找"客服"、"用户"、"WPS客户"等关键词
- 添加换行符:在关键词前添加换行符,让日志更易读
- 删除空行:删除多余的空行,保持文档整洁
- 清理空白:清理行首行尾的空白字符
- 保存文件:将格式化后的内容保存回原文件
注意:
feedback export命令支持.xlsx和.xls格式的Excel文件。系统会自动识别组件列和对话详情列,支持多种列名格式。feedback format命令会直接修改原文件,建议先备份重要文件。
依赖
- 需要本机已安装并在 PATH 中可用:
krepo-ng、git。 - 配置文件位置:
~/.ypp.json
许可
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ypp-0.3.39.tar.gz.
File metadata
- Download URL: ypp-0.3.39.tar.gz
- Upload date:
- Size: 37.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95937b91e6ef7d74faad51c2021a1af24ae702f4ab1db9b3471dc07e83ee8570
|
|
| MD5 |
a56d1f5d7cdfbe26a884d8abe70d378f
|
|
| BLAKE2b-256 |
004150e1aeea2ee8002d8067c81bb2584b6d7882503af01a1e60f6e9cc7c79ae
|
File details
Details for the file ypp-0.3.39-py3-none-any.whl.
File metadata
- Download URL: ypp-0.3.39-py3-none-any.whl
- Upload date:
- Size: 43.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d897b72d939876241f92d4bb95f1208311a49f4f6005cd54dcc84e812a95a265
|
|
| MD5 |
e3cb842e852fa02ce3a371cab83d28f9
|
|
| BLAKE2b-256 |
547a8bf6bff42eea9b716adf85b54ef866ccf9013590dc07a89f54de690d07b3
|