Introduction
Introduction Statistics Contact Development Disclaimer Help
tFix memelog from cache. Fix makefile forced execution. - bitreich-memestats - …
git clone git://src.adamsgaard.dk/bitreich-memestats
Log
Files
Refs
LICENSE
---
commit d8747a03518ac500b7027b3abe0fd2d29f110bd0
parent 726dbaf74c47d4260c83251a2145d780a5d15bc9
Author: Christoph Lohmann <[email protected]>
Date: Sun, 29 Aug 2021 22:20:41 +0200
Fix memelog from cache. Fix makefile forced execution.
Diffstat:
M Makefile | 12 ++++++------
M media-stats.sh | 49 ++++++++++++++++++++++++++++-…
2 files changed, 51 insertions(+), 10 deletions(-)
---
diff --git a/Makefile b/Makefile
t@@ -3,24 +3,24 @@
MEMECACHE = "/br/gopher/memecache"
ANNNA = "/home/annna/bin"
-memecount: plot-memecount.sh media-stats memecount_lin memecount_semilog
+memecount: media-stats memecount_lin memecount_semilog
cat memecount_lin media-stats memecount_semilog > $@
-media-stats: media-stats.sh
+media-stats:
./media-stats.sh $(MEMECACHE) > $@
-memecount_lin: plot-memecount.sh memecount.log
+memecount_lin: memecount.log
./plot-memecount.sh memecount.log > $@
-memecount_semilog: plot-memecount.sh memecount.log
+memecount_semilog: memecount.log
./plot-memecount.sh memecount.log semilog > $@
# output format: date<tab>commit<tab>n_memes
-memecount.log: extract-memecount.sh
+memecount.log:
./extract-memecount.sh $(ANNNA) $@
clean:
rm -f media-stats
rm -f memecount{,.log,_lin,_semilog}
-.PHONY: clean
+.PHONY: clean memecount.log media-stats
diff --git a/media-stats.sh b/media-stats.sh
t@@ -1,6 +1,8 @@
#!/bin/sh
# output formatted table with memecache media statistics
+set -x
+
# estimated average image viewing time [s]
img_viewing_time=5
t@@ -9,18 +11,56 @@ if [ $# -ne 1 ]; then
exit 1
fi
+oldpathfile="memecache_pathcache.txt.old"
+touch "${oldpathfile}"
+oldstatusfile="${oldpathfile}.status"
+todofile="memecache_pathcache.txt.todo"
+touch "${todofile}"
+pathfile="memecache_pathcache.txt"
+
+find "$1" \
+ -maxdepth 1 \
+ -type f \
+ \! \( -name '*.orig' \
+ -o -name '*.nochip' \
+ -o -name '*.txt' \
+ -o -name '*.meme' \
+ -o -name '*.pdf' \
+ \) \
+ | sort > "${pathfile}"
+comm -3 "${pathfile}" "${oldpathfile}" > "${todofile}"
+
i=0
sum=0.0
-for f in "$1"/*.{mkv,mp4,webm,mp3,ogg}; do
+# Get state.
+if [ -e "${oldstatusfile}" ]; then
+ sum="$(head -n 1 "${oldstatusfile}")"
+ i="$(tail -n 1 "${oldstatusfile}")"
+fi
+
+# Old work on diff.
+fifofile="$(mktemp -u media-stats.fifo.XXXXXX)"
+mkfifo ${fifofile}
+grep '.*mkv$\|.*mp4$\|.*webm$\|.*mp3$\|.*ogg$' "${todofile}" \
+ 2>/dev/null >${fifofile} &
+while read -r f; do
i=$((i+=1))
new_sum="$(printf '%f + %f\n' \
"$(ffprobe -v error -show_entries format=duration \
-of default=noprint_wrappers=1:nokey=1 "$f")" "$sum" 2>/dev…
bc -l)"
sum="$new_sum"
-done
-n_img="$(ls "$1"/*.{png,jpg,JPG,gif} | wc -l)"
-n_vid="$(ls "$1"/*.{mkv,mp4,webm,mp3,ogg} | wc -l)"
+done < ${fifofile}
+rm -f ${fifofile}
+
+# Store state.
+cp "${pathfile}" "${oldpathfile}"
+printf "%f\n%i\n" "${sum}" "${i}" > "${oldstatusfile}"
+
+n_img="$(grep '.*png$\|.*jpg$\|.*JPG$\|.*gif$' "${pathfile}" \
+ 2>/dev/null | wc -l)"
+n_vid="$(grep '.*mkv$\|.*mp4$\|.*webm$\|.*mp3$|.*ogg$' "${pathfile}" \
+ 2>/dev/null | wc -l)"
printf '\n '
printf '+----- statistics (%s) ------+\n' "$(date '+%Y-%m-%d')"
t@@ -41,3 +81,4 @@ printf '| total movie length: %10.1f h |\n' \
"$(printf '%s/3600\n' "$sum" | bc -l)"
printf ' '
printf '+------------------------------------+\n'
+
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.