Cauza: am rulat `find transcripts -size -1k -delete` cat transcribe.py scria in acelasi director. faster_whisper scrie bufferat, deci o transcriere de o ora sta sub 1KB minute in sir; find a sters fisierul de sub proces, Python a logat "Transcribed" pe un inode disparut, si audio-ul a fost sters. Lectia 11 (25.11.2025) pierduta complet, re-descarcata. - transcribe_file() intoarce bool, verifica nr. cuvinte vs durata audio - pull_moltbot.sh: staging + mutare doar peste 1KB, in loc de find -delete - PROGRESS.md: documentat, ca sa nu se repete Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MtSTyTmt6AbCL9j5ajEDm1
28 lines
961 B
Bash
Executable File
28 lines
961 B
Bash
Executable File
#!/bin/bash
|
|
# Aduce transcrierile gata de pe moltbot.
|
|
#
|
|
# NU folosi `scp ... && find -size -1k -delete` pe directorul de transcrieri:
|
|
# transcribe.py scrie acolo în paralel, iar un fișier în curs de scriere e
|
|
# sub 1KB minute în șir. Un `find -delete` l-a șters o dată de sub proces,
|
|
# iar transcrierea s-a pierdut complet (audio-ul fusese deja șters).
|
|
#
|
|
# Aici: aducem într-un director de staging, mutăm doar ce e complet.
|
|
set -euo pipefail
|
|
DEST=${1:-transcripts/09_Q_and_A}
|
|
STAGE=$(mktemp -d)
|
|
trap 'rm -rf "$STAGE"' EXIT
|
|
|
|
scp -q "root@moltbot:/root/atm/transcripts/*.txt" "$STAGE/" 2>/dev/null || true
|
|
moved=0
|
|
for f in "$STAGE"/*.txt; do
|
|
[ -e "$f" ] || continue
|
|
if [ "$(stat -c%s "$f")" -lt 1024 ]; then
|
|
echo " sar peste (incomplet, $(stat -c%s "$f") octeți): $(basename "$f")"
|
|
continue
|
|
fi
|
|
mv "$f" "$DEST/"
|
|
echo " adus: $(basename "$f")"
|
|
moved=$((moved + 1))
|
|
done
|
|
echo "Aduse $moved transcrieri în $DEST"
|