39 lines
1.4 KiB
Bash
39 lines
1.4 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# 清空送标/标注相关记录,保留平台账号与配置
|
||
|
|
set -euo pipefail
|
||
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||
|
|
cd "$ROOT"
|
||
|
|
|
||
|
|
echo "==> 清空 PostgreSQL 送标/标注表"
|
||
|
|
docker exec hsap-postgres psql -U as_platform -d as_platform <<'SQL'
|
||
|
|
TRUNCATE labeling_reviews, labeling_export_jobs, labeling_task_assignments, labeling_campaign_access, labeling_campaigns CASCADE;
|
||
|
|
TRUNCATE dataset_candidates, batch_deliveries CASCADE;
|
||
|
|
SQL
|
||
|
|
|
||
|
|
if curl -sf http://127.0.0.1:8080/api/tasks?page_size=100 -H 'Accept: application/vnd.cvat+json; version=2.0' >/dev/null 2>&1; then
|
||
|
|
echo "==> 清空 CVAT Task"
|
||
|
|
python3 - <<'PY'
|
||
|
|
import json, urllib.request
|
||
|
|
req = urllib.request.Request(
|
||
|
|
"http://127.0.0.1:8080/api/tasks?page_size=100",
|
||
|
|
headers={"Accept": "application/vnd.cvat+json; version=2.0"},
|
||
|
|
)
|
||
|
|
with urllib.request.urlopen(req) as r:
|
||
|
|
data = json.load(r)
|
||
|
|
for t in data.get("results", []):
|
||
|
|
tid = t["id"]
|
||
|
|
del_req = urllib.request.Request(
|
||
|
|
f"http://127.0.0.1:8080/api/tasks/{tid}",
|
||
|
|
method="DELETE",
|
||
|
|
headers={"Accept": "application/vnd.cvat+json; version=2.0"},
|
||
|
|
)
|
||
|
|
try:
|
||
|
|
urllib.request.urlopen(del_req)
|
||
|
|
print(f" deleted CVAT task #{tid} {t.get('name')}")
|
||
|
|
except Exception as e:
|
||
|
|
print(f" skip task #{tid}: {e}")
|
||
|
|
PY
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo "==> 完成。数据湖目录: ${AS_DATA_LAKE:-$ROOT/../data/送标}"
|