refactor: 简化代码,消除重复逻辑

- 删除 tests/test_readers/conftest.py 中重复的 temp_html fixture
- 为 generate_uv_command/generate_python_command 添加 include_pyarmor 参数
- 新增 generate_uv_args 函数用于生成 subprocess 可用的参数列表
- lyxy_document_reader.py 复用 generate_uv_args 函数
This commit is contained in:
2026-03-15 10:28:04 +08:00
parent 82b09614d3
commit a5c0b67360
3 changed files with 53 additions and 45 deletions

View File

@@ -75,6 +75,7 @@ def main():
detect_file_type_light,
get_platform,
get_dependencies,
generate_uv_args,
)
from readers import READERS
@@ -93,19 +94,12 @@ def main():
python_version, dependencies = get_dependencies(reader_cls, platform_id)
# 生成 uv 命令参数列表
uv_args = ["uv", "run"]
if python_version:
uv_args.extend(["--python", python_version])
# 始终添加 pyarmor 依赖(混淆后脚本需要)
uv_args.extend(["--with", "pyarmor"])
for dep in dependencies:
uv_args.extend(["--with", dep])
# 目标脚本是 bootstrap.py
uv_args.append("scripts/bootstrap.py")
uv_args = generate_uv_args(
dependencies=dependencies,
script_path="scripts/bootstrap.py",
python_version=python_version,
include_pyarmor=True
)
# 添加所有命令行参数
uv_args.extend(sys.argv[1:])