From 6b7850a54fcec92e86ece1b258ce9f7a2b7d6732 Mon Sep 17 00:00:00 2001 From: Ivan Kozik Date: Fri, 12 Apr 2024 12:14:59 +0000 Subject: [PATCH] sftp-into-eye: proper stats for non-video files --- sftp-into-eye | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/sftp-into-eye b/sftp-into-eye index 37194e9..d1fdb81 100755 --- a/sftp-into-eye +++ b/sftp-into-eye @@ -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" ) &