|
|
@@ -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" |
|
|
|
) & |
|
|
|
|
|
|
|