52 lines
1.3 KiB
Bash
52 lines
1.3 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
# 测试 parse_ppt.py + rebuild_ppt.py - 解析重建流程
|
||
|
|
set -e
|
||
|
|
|
||
|
|
PYTHON=$(which python3 || which python)
|
||
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||
|
|
PROJ_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||
|
|
PARSE_SCRIPT="$SCRIPT_DIR/../scripts/parse_ppt.py"
|
||
|
|
REBUILD_SCRIPT="$SCRIPT_DIR/../scripts/rebuild_ppt.py"
|
||
|
|
|
||
|
|
TMPDIR=$(mktemp -d)
|
||
|
|
trap "rm -rf $TMPDIR" EXIT
|
||
|
|
|
||
|
|
echo "=== 测试 parse_ppt.py + rebuild_ppt.py ==="
|
||
|
|
echo "输入: $PROJ_DIR/aim/aim01.pptx"
|
||
|
|
|
||
|
|
# Step 1: 解析
|
||
|
|
echo "Step 1: 解析 PPT → JSON"
|
||
|
|
$PYTHON "$PARSE_SCRIPT" "$PROJ_DIR/aim/aim01.pptx" "$TMPDIR/parsed.json" 2>/dev/null
|
||
|
|
|
||
|
|
if [ ! -f "$TMPDIR/parsed.json" ]; then
|
||
|
|
echo "FAIL: parsed.json 未生成"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
SIZE=$(wc -c < "$TMPDIR/parsed.json")
|
||
|
|
echo " parsed.json 大小: ${SIZE} bytes"
|
||
|
|
|
||
|
|
if [ "$SIZE" -lt 100 ]; then
|
||
|
|
echo "FAIL: parsed.json 太小"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Step 2: 重建
|
||
|
|
echo "Step 2: 重建 JSON → PPT"
|
||
|
|
$PYTHON "$REBUILD_SCRIPT" "$TMPDIR/parsed.json" "$TMPDIR/rebuilt.pptx" 2>/dev/null
|
||
|
|
|
||
|
|
if [ ! -f "$TMPDIR/rebuilt.pptx" ]; then
|
||
|
|
echo "FAIL: rebuilt.pptx 未生成"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
SIZE=$(wc -c < "$TMPDIR/rebuilt.pptx")
|
||
|
|
echo " rebuilt.pptx 大小: ${SIZE} bytes"
|
||
|
|
|
||
|
|
if [ "$SIZE" -lt 1000 ]; then
|
||
|
|
echo "FAIL: rebuilt.pptx 太小"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo "PASS: parse + rebuild 流程正常"
|