Sfoglia il codice sorgente

sftp-into-eye: proper stats for non-video files

master
Ivan Kozik 1 mese fa
parent
commit
6b7850a54f
1 ha cambiato i file con 15 aggiunte e 1 eliminazioni
  1. +15
    -1
      sftp-into-eye

+ 15
- 1
sftp-into-eye Vedi File

@@ -1,5 +1,8 @@
#!/usr/bin/env zsh

# Dependencies: exastash `es` in PATH, `path-to-eye-path` in PATH, and
# apt install zsh ripgrep rclone curl

set -eu -o pipefail

# Enable job control for wait-until-jobs-below
@@ -19,10 +22,21 @@ wait-until-jobs-below() {

while read i; do
echo $i

eye_path=$(path-to-eye-path "$i" | sed -r "s,$HOME/stash/,,g")
file_id=$(es x info -- "$i" | jq .id)
size=$(es x info -- "$i" | jq .size)

is_video=0
echo -n "$i" | rg -q '\.(mp4|webm|flv|video)$' && is_video=1

the_eye_video_bytes_saved=0
the_eye_video_files_saved=0
if [[ $is_video -eq 1 ]]; then
the_eye_video_bytes_saved=$size
the_eye_video_files_saved=1
fi

# If already in namedfiles i.e. the-eye, skip
es x info -- "$i" | rg -q -F '"type": "namedfiles"' && continue || true

@@ -30,7 +44,7 @@ while read i; do
es x get -s -- "$i" && \
rclone --metadata --inplace --size-only --progress copyto "$i" "jeff:$eye_path" && \
curl --fail-with-body -u "ya: ." -X POST -d "{\"file_id\": $file_id, \"location\": \"the-eye\", \"pathname\": \"$eye_path\"}" https://ya.borg.xyz/cgi-bin/new-namedfiles && \
curl -X POST -d "{\"the_eye_any_bytes_saved\": $size, \"the_eye_video_bytes_saved\": $size, \"the_eye_any_files_saved\": 1, \"the_eye_video_files_saved\": 1}" "http://eye.borg.xyz:31416/metrics" || true;
curl -X POST -d "{\"the_eye_any_bytes_saved\": $size, \"the_eye_video_bytes_saved\": $the_eye_video_bytes_saved, \"the_eye_any_files_saved\": 1, \"the_eye_video_files_saved\": $the_eye_video_files_saved}" "http://eye.borg.xyz:31416/metrics" || true;
rm -f -- "$i"
) &



Caricamento…
Annulla
Salva