commit 42e2b007e32d6a716f00f36fa15516827fdbafb6 parent 0c1b24ac7fdbfdd272644ba47cfe8fdd973868e9 Author: parazyd <parazyd@dyne.org> Date: Tue, 19 May 2020 02:28:16 +0200 Rewrite autoup. Diffstat:
M | autoup | | | 84 | ++++++++++++++++++++++++++++++++++++++++++++++++------------------------------- |
A | memecache | | | 2 | ++ |
2 files changed, 53 insertions(+), 33 deletions(-)
diff --git a/autoup b/autoup @@ -1,58 +1,76 @@ #!/bin/sh -server=parazyd.org -webroot=/home/parazyd/public_html/parazyd.org/pub -webdir=dev/random + +usage() { + printf "usage: %s [-p|-f|-t] file" "$(basename "$0")" + exit 1 +} + +server="parazyd.org" +webroot="/home/parazyd/public_html/parazyd.org/pub" +webdir="dev/random" + +case "$(basename "$0")" in +memecache) + webdir="memecache" + ;; +esac case "$1" in -p) + webdir="tmp/priv" shift - webdir=tmp/priv - ;; --n) - shift - webdir=dev/null ;; -f) + webdir="tmp/photo" shift - webdir=tmp/photo ;; -t) + webdir="tmp" shift - webdir=tmp ;; esac +[ -n "$1" ] || usage -test -z "$1" && exit 1 -filename=$(basename $1) +filename="$(basename "$1")" case "$filename" in -*_scrot.*|mpv-shot*.*) - webdir=tmp/screenshots - num=$(echo $(lynx -dump http://$server/pub/tmp/screenshots \ - | tail -n1 | tr -d '[a-z]./:' | awk '{print $2}') + 1 | bc) +*scrot*|mpv-shot*) + webdir="tmp/screenshots" + num="$(ssh "$server" find "$webroot/$webdir" -type f | sort | tail -n1)" + num="$(printf "%s" "$num" | tr -d '[a-z]./_')" + num="$(e "${num}+1")" + if [ "$num" -lt 100 ]; then - num="00$num" + num="000${num}" elif [ "$num" -lt 1000 ]; then - num="0$num" + num="00${num}" + elif [ "$num" -lt 10000 ]; then + num="0${num}" fi + filename="screenshot${num}.${filename##*.}" - goph=I - ;; -*.png|*.jpg|*.jpeg|*.JPG|*.JPEG) - goph=I - ;; -*.txt|*.html|*.css|*.sh|*.c) - goph=0 - ;; -*.gif) - goph=g - ;; -*) - goph=9 ;; esac scp "$1" "${server}:${webroot}/${webdir}/${filename}" || exit 1 -echo "https://$server/pub/$webdir/$filename" -echo "gopher://$server/$goph/pub/$webdir/$filename" + +if [ "$webdir" = memecache ]; then + memes="$(ssh "$server" find "$webroot/$webdir" -type f -exec basename {} \\';')" + memes="$(printf "$memes" | grep -v memes.meme | sort)" + memefile="$(mktemp)" + echo "meme" > "$memefile" + for meme in $memes; do + printf "#%s gopher://%s/%s/pub/%s/%s\n" \ + "$(printf "%s" "$meme" | cut -d. -f1)" \ + "$server" "$(ext2gopher "$meme")" \ + "$webdir" "$meme" >> "$memefile" + done + + scp "$memefile" "${server}:${webroot}/${webdir}/memes.meme" + rm -f "$memefile" +fi + +printf "https://%s/pub/%s/%s\n" "$server" "$webdir" "$filename" +printf "gopher://%s/%s/pub/%s/%s\n" "$server" "$(ext2gopher "$filename")" \ + "$webdir" "$filename" diff --git a/memecache b/memecache @@ -0,0 +1 @@ +autoup+ \ No newline at end of file