tRewrite autoup. - scripts - random scripts
HTML git clone https://git.parazyd.org/scripts
DIR Log
DIR Files
DIR Refs
---
DIR commit 42e2b007e32d6a716f00f36fa15516827fdbafb6
DIR parent 0c1b24ac7fdbfdd272644ba47cfe8fdd973868e9
HTML 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(-)
---
DIR diff --git a/autoup b/autoup
t@@ -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"
DIR diff --git a/memecache b/memecache
t@@ -0,0 +1 @@
+autoup
+\ No newline at end of file