iFix memelog from cache. Fix makefile forced execution. - bitreich-memestats - Bitreich meme statistics and graphs. Err bitreich.org 70
hgit clone git://bitreich.org/bitreich-memestats git://hg6vgqziawt5s4dj.onion/bitreich-memestats URL:git://bitreich.org/bitreich-memestats git://hg6vgqziawt5s4dj.onion/bitreich-memestats bitreich.org 70
1Log /scm/bitreich-memestats/log.gph bitreich.org 70
1Files /scm/bitreich-memestats/files.gph bitreich.org 70
1Refs /scm/bitreich-memestats/refs.gph bitreich.org 70
1Tags /scm/bitreich-memestats/tag bitreich.org 70
1LICENSE /scm/bitreich-memestats/file/LICENSE.gph bitreich.org 70
i--- Err bitreich.org 70
1commit d8747a03518ac500b7027b3abe0fd2d29f110bd0 /scm/bitreich-memestats/commit/d8747a03518ac500b7027b3abe0fd2d29f110bd0.gph bitreich.org 70
1parent 726dbaf74c47d4260c83251a2145d780a5d15bc9 /scm/bitreich-memestats/commit/726dbaf74c47d4260c83251a2145d780a5d15bc9.gph bitreich.org 70
hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net bitreich.org 70
iDate: Sun, 29 Aug 2021 22:20:41 +0200 Err bitreich.org 70
i Err bitreich.org 70
iFix memelog from cache. Fix makefile forced execution. Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M Makefile | 12 ++++++------ Err bitreich.org 70
i M media-stats.sh | 49 ++++++++++++++++++++++++++++--- Err bitreich.org 70
i Err bitreich.org 70
i2 files changed, 51 insertions(+), 10 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/Makefile b/Makefile /scm/bitreich-memestats/file/Makefile.gph bitreich.org 70
i@@ -3,24 +3,24 @@ Err bitreich.org 70
i MEMECACHE = "/br/gopher/memecache" Err bitreich.org 70
i ANNNA = "/home/annna/bin" Err bitreich.org 70
i Err bitreich.org 70
i-memecount: plot-memecount.sh media-stats memecount_lin memecount_semilog Err bitreich.org 70
i+memecount: media-stats memecount_lin memecount_semilog Err bitreich.org 70
i cat memecount_lin media-stats memecount_semilog > $@ Err bitreich.org 70
i Err bitreich.org 70
i-media-stats: media-stats.sh Err bitreich.org 70
i+media-stats: Err bitreich.org 70
i ./media-stats.sh $(MEMECACHE) > $@ Err bitreich.org 70
i Err bitreich.org 70
i-memecount_lin: plot-memecount.sh memecount.log Err bitreich.org 70
i+memecount_lin: memecount.log Err bitreich.org 70
i ./plot-memecount.sh memecount.log > $@ Err bitreich.org 70
i Err bitreich.org 70
i-memecount_semilog: plot-memecount.sh memecount.log Err bitreich.org 70
i+memecount_semilog: memecount.log Err bitreich.org 70
i ./plot-memecount.sh memecount.log semilog > $@ Err bitreich.org 70
i Err bitreich.org 70
i # output format: date<tab>commit<tab>n_memes Err bitreich.org 70
i-memecount.log: extract-memecount.sh Err bitreich.org 70
i+memecount.log: Err bitreich.org 70
i ./extract-memecount.sh $(ANNNA) $@ Err bitreich.org 70
i Err bitreich.org 70
i clean: Err bitreich.org 70
i rm -f media-stats Err bitreich.org 70
i rm -f memecount{,.log,_lin,_semilog} Err bitreich.org 70
i Err bitreich.org 70
i-.PHONY: clean Err bitreich.org 70
i+.PHONY: clean memecount.log media-stats Err bitreich.org 70
1diff --git a/media-stats.sh b/media-stats.sh /scm/bitreich-memestats/file/media-stats.sh.gph bitreich.org 70
i@@ -1,6 +1,8 @@ Err bitreich.org 70
i #!/bin/sh Err bitreich.org 70
i # output formatted table with memecache media statistics Err bitreich.org 70
i Err bitreich.org 70
i+set -x Err bitreich.org 70
i+ Err bitreich.org 70
i # estimated average image viewing time [s] Err bitreich.org 70
i img_viewing_time=5 Err bitreich.org 70
i Err bitreich.org 70
i@@ -9,18 +11,56 @@ if [ $# -ne 1 ]; then Err bitreich.org 70
i exit 1 Err bitreich.org 70
i fi Err bitreich.org 70
i Err bitreich.org 70
i+oldpathfile="memecache_pathcache.txt.old" Err bitreich.org 70
i+touch "${oldpathfile}" Err bitreich.org 70
i+oldstatusfile="${oldpathfile}.status" Err bitreich.org 70
i+todofile="memecache_pathcache.txt.todo" Err bitreich.org 70
i+touch "${todofile}" Err bitreich.org 70
i+pathfile="memecache_pathcache.txt" Err bitreich.org 70
i+ Err bitreich.org 70
i+find "$1" \ Err bitreich.org 70
i+ -maxdepth 1 \ Err bitreich.org 70
i+ -type f \ Err bitreich.org 70
i+ \! \( -name '*.orig' \ Err bitreich.org 70
i+ -o -name '*.nochip' \ Err bitreich.org 70
i+ -o -name '*.txt' \ Err bitreich.org 70
i+ -o -name '*.meme' \ Err bitreich.org 70
i+ -o -name '*.pdf' \ Err bitreich.org 70
i+ \) \ Err bitreich.org 70
i+ | sort > "${pathfile}" Err bitreich.org 70
i+comm -3 "${pathfile}" "${oldpathfile}" > "${todofile}" Err bitreich.org 70
i+ Err bitreich.org 70
i i=0 Err bitreich.org 70
i sum=0.0 Err bitreich.org 70
i-for f in "$1"/*.{mkv,mp4,webm,mp3,ogg}; do Err bitreich.org 70
i+# Get state. Err bitreich.org 70
i+if [ -e "${oldstatusfile}" ]; then Err bitreich.org 70
i+ sum="$(head -n 1 "${oldstatusfile}")" Err bitreich.org 70
i+ i="$(tail -n 1 "${oldstatusfile}")" Err bitreich.org 70
i+fi Err bitreich.org 70
i+ Err bitreich.org 70
i+# Old work on diff. Err bitreich.org 70
i+fifofile="$(mktemp -u media-stats.fifo.XXXXXX)" Err bitreich.org 70
i+mkfifo ${fifofile} Err bitreich.org 70
i+grep '.*mkv$\|.*mp4$\|.*webm$\|.*mp3$\|.*ogg$' "${todofile}" \ Err bitreich.org 70
i+ 2>/dev/null >${fifofile} & Err bitreich.org 70
i+while read -r f; do Err bitreich.org 70
i i=$((i+=1)) Err bitreich.org 70
i new_sum="$(printf '%f + %f\n' \ Err bitreich.org 70
i "$(ffprobe -v error -show_entries format=duration \ Err bitreich.org 70
i -of default=noprint_wrappers=1:nokey=1 "$f")" "$sum" 2>/dev/null | \ Err bitreich.org 70
i bc -l)" Err bitreich.org 70
i sum="$new_sum" Err bitreich.org 70
i-done Err bitreich.org 70
i-n_img="$(ls "$1"/*.{png,jpg,JPG,gif} | wc -l)" Err bitreich.org 70
i-n_vid="$(ls "$1"/*.{mkv,mp4,webm,mp3,ogg} | wc -l)" Err bitreich.org 70
i+done < ${fifofile} Err bitreich.org 70
i+rm -f ${fifofile} Err bitreich.org 70
i+ Err bitreich.org 70
i+# Store state. Err bitreich.org 70
i+cp "${pathfile}" "${oldpathfile}" Err bitreich.org 70
i+printf "%f\n%i\n" "${sum}" "${i}" > "${oldstatusfile}" Err bitreich.org 70
i+ Err bitreich.org 70
i+n_img="$(grep '.*png$\|.*jpg$\|.*JPG$\|.*gif$' "${pathfile}" \ Err bitreich.org 70
i+ 2>/dev/null | wc -l)" Err bitreich.org 70
i+n_vid="$(grep '.*mkv$\|.*mp4$\|.*webm$\|.*mp3$|.*ogg$' "${pathfile}" \ Err bitreich.org 70
i+ 2>/dev/null | wc -l)" Err bitreich.org 70
i Err bitreich.org 70
i printf '\n ' Err bitreich.org 70
i printf '+----- statistics (%s) ------+\n' "$(date '+%Y-%m-%d')" Err bitreich.org 70
i@@ -41,3 +81,4 @@ printf '| total movie length: %10.1f h |\n' \ Err bitreich.org 70
i "$(printf '%s/3600\n' "$sum" | bc -l)" Err bitreich.org 70
i printf ' ' Err bitreich.org 70
i printf '+------------------------------------+\n' Err bitreich.org 70
i+ Err bitreich.org 70
.
Response:
text/plain