-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun.sh
More file actions
executable file
·67 lines (61 loc) · 1.78 KB
/
Copy pathrun.sh
File metadata and controls
executable file
·67 lines (61 loc) · 1.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/usr/bin/env bash
#
# video_moving 一键运行脚本
#
# 用法:
# ./run.sh # 监控一轮(只处理,不上传)
# ./run.sh --upload # 监控 + 上传(每个视频确认后传)
# ./run.sh --upload --auto # 监控 + 自动上传(跳过确认)
# ./run.sh --dry-run # 只看有哪些新视频,不处理
# ./run.sh --login # B 站扫码登录(首次使用)
# ./run.sh --heartbeat --upload --auto # 心跳模式:每分钟同步列表,有新视频自动下载+上传
# ./run.sh --once "https://youtu.be/XXXXX" # 单个视频
# ./run.sh --once "https://youtu.be/XXXXX" --upload # 单个 + 上传
# ./run.sh --add --upload --auto # 交互:手动输入视频 URL 并处理/上传
#
# 所有参数会透传给 python -m src.monitor 或 src.pipeline
set -euo pipefail
# 切到项目目录(不管从哪里调用)
cd "$(dirname "$0")"
# 激活 venv
source .venv/bin/activate
# 默认动作:跑一轮监控
MODE="monitor"
ARGS=()
while [[ $# -gt 0 ]]; do
case "$1" in
--once)
MODE="single"
shift
URL="$1"
shift
;;
--add)
MODE="add"
shift
;;
--login)
MODE="login"
shift
;;
*)
ARGS+=("$1")
shift
;;
esac
done
case "$MODE" in
login)
echo "🔐 启动 B 站扫码登录..."
python -m src.monitor --login
;;
add)
python -m src.pipeline --add "${ARGS[@]}"
;;
single)
python -m src.pipeline "$URL" "${ARGS[@]}"
;;
monitor)
python -m src.monitor "${ARGS[@]}"
;;
esac