Add multi-pointer support to memes. - annna - Annna the nice friendly bot. HTML git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/annna/ DIR Log DIR Files DIR Refs DIR Tags DIR README --- DIR commit 72a6826e21e68e70ee2993fb246a154d4a38b6c4 DIR parent d58bae51f639073fd9fbc75ac96893ef65882507 HTML Author: Annna Robert-Houdin <annna@bitreich.org> Date: Sun, 19 Feb 2023 13:24:57 +0100 Add multi-pointer support to memes. Diffstat: M annna-message-common | 33 +++++++++++++++++++++++++------ M pointer | 2 +- 2 files changed, 28 insertions(+), 7 deletions(-) --- DIR diff --git a/annna-message-common b/annna-message-common @@ -1147,7 +1147,7 @@ esac printf '%s' "$text" | awk -v taglimit="$printnhashtags" ' $0 !~ /#nospoil/ { - while (match($0, /[#*][^#^* /"'\'',?!;$\001]+/)) { + while (match($0, /[#*]+[^#^* /"'\'',?!;$\001]+/)) { tag = substr($0, RSTART, RLENGTH) $0 = substr($0, RSTART + RLENGTH) sub(/[.]*$/, "", tag) @@ -1157,9 +1157,11 @@ $0 !~ /#nospoil/ { }' | while read -r tag; do [ "${tag}" == "#expand" ] && continue + + origtag="${tag}" case "${tag}" in "*"*) - tag="#${tag#\*}" + tag="#$(printf "%s\n" "${tag}" | sed "s,^[\*]*,,")" pointer=1;; *) pointer=0;; @@ -1171,13 +1173,32 @@ do then if [ $pointer -eq 1 ]; then - outfile="*${tag#\#}.jpg" - outpath="/br/gopher/memecache/filter/${outfile}" inpath="/br/gopher/memecache/${tagline##*/}" [ ! -f "${inpath}" ] && exit 0 - if pointer "${inpath}" "${outpath}" 2>&1 >/dev/null; + + outfile="${tag#\#}.jpg" + # pointy pointers + outpath="$(printf "%s\n" "${origtag}" \ + | sed 's,\*,&\n,g' \ + | grep "^*" \ + | while read -r asterisk; + do + outfile="*${outfile}" + outpath="/br/gopher/memecache/filter/${outfile}" + printf "%s\n" "${outpath}" + if [ -e "${outpath}" ]; + then + inpath="${outpath}"; + continue + fi + pointer "${inpath}" "${outpath}" 2>&1 >/dev/null; + inpath="${outpath}"; + done | tail -n 1)" + + if [ -e "${outpath}" ]; then - annna-say -s "${server}" -c "${channel}" "*${tag#\#}: gophers://bitreich.org/9/memecache/filter/${outfile}" + outfile="$(basename "${outpath}")" + annna-say -s "${server}" -c "${channel}" "${origtag}: gophers://bitreich.org/9/memecache/filter/${outfile}" fi else annna-say -s "${server}" -c "${channel}" "${tagline% *}: ${tagline#* }" DIR diff --git a/pointer b/pointer @@ -53,10 +53,10 @@ convert \ -pointsize 50 -fill white \ -stroke black -strokewidth 1 \ -gravity southwest \ - -draw "text +10,+10 '${n}'" \ -gravity northeast \ -draw "text -422,+20 '*${n}'" \ "$tmp" +# -draw "text +10,+10 '${n}'" \ exitcode=$? if [ $exitcode -eq 0 ]; then