| tCache last revision and speed up generation. - bitreich-memestats - metrics an… | |
| git clone git://src.adamsgaard.dk/bitreich-memestats | |
| Log | |
| Files | |
| Refs | |
| LICENSE | |
| --- | |
| commit 726dbaf74c47d4260c83251a2145d780a5d15bc9 | |
| parent e082f9a06845793bcfa455df769420c1c926a85e | |
| Author: Christoph Lohmann <[email protected]> | |
| Date: Sun, 29 Aug 2021 20:42:49 +0200 | |
| Cache last revision and speed up generation. | |
| Diffstat: | |
| M Makefile | 2 +- | |
| M extract-memecount.sh | 31 +++++++++++++++++++++++++++--… | |
| 2 files changed, 28 insertions(+), 5 deletions(-) | |
| --- | |
| diff --git a/Makefile b/Makefile | |
| t@@ -17,7 +17,7 @@ memecount_semilog: plot-memecount.sh memecount.log | |
| # output format: date<tab>commit<tab>n_memes | |
| memecount.log: extract-memecount.sh | |
| - ./extract-memecount.sh $(ANNNA) > $@ | |
| + ./extract-memecount.sh $(ANNNA) $@ | |
| clean: | |
| rm -f media-stats | |
| diff --git a/extract-memecount.sh b/extract-memecount.sh | |
| t@@ -1,16 +1,36 @@ | |
| #!/bin/sh | |
| # generate table of hashtag numbers over time | |
| -annnadir="${1:-$HOME/code/annna}" | |
| +if [ $# -lt 1 ]; | |
| +then | |
| + printf "usage: %s annnadir [memecount.log]\n" "$(basename "$0")" >&2 | |
| + exit 1 | |
| +fi | |
| + | |
| +annnadir="${1}" | |
| memefile="modules/hashtags/hashtags.txt" | |
| update_annna=yes | |
| -fromrevision="${2}" | |
| +outputfile="${2:-memecount.log}" | |
| +revisionrange="" | |
| if [ ! -e "${annnadir}/${memefile}" ]; then | |
| printf 'error: could not open %s\n' "${annnadir}/${memefile}" | |
| exit 1 | |
| fi | |
| +if [ -f "${outputfile}" ]; then | |
| + lastrevision="$(tail -n 1 "${outputfile}" | cut -f 2)" | |
| + revisionrange="${lastrevision}..HEAD" | |
| +fi | |
| + | |
| +case "${outputfile}" in | |
| +/*) | |
| + ;; | |
| +*) | |
| + outputfile="$(pwd)/${outputfile}" | |
| + ;; | |
| +esac | |
| + | |
| cd "$annnadir" | |
| if [ "$update_annna" = "yes" ]; then | |
| git pull >/dev/null 2>&1 | |
| t@@ -19,7 +39,8 @@ fi | |
| headcommit="$(git rev-parse HEAD)" | |
| i=0 | |
| # derived from Hiltjo Posthuma's loc.sh | |
| -git log --pretty='format:%H %cd %at' --date="format:%Y-%m-%d" | \ | |
| +git log --pretty='format:%H %cd %at' --date="format:%Y-%m-%d" \ | |
| + "${revisionrange}" | \ | |
| sort -k 2 | uniq -f 1 | \ | |
| while read -r commit date timestamp; do | |
| t@@ -52,8 +73,10 @@ git log --pretty='format:%H %cd %at' --date="format:%Y-%m-%… | |
| lastprintdate="$date" | |
| printf '%s\t%s\t%s\t%s\t%s\n' \ | |
| - "$date" "$commit" "$n" "$timestamp" "$dn_dt" | |
| + "$date" "$commit" "$n" "$timestamp" "$dn_dt" \ | |
| + >> "${outputfile}" | |
| fi | |
| fi | |
| done | |
| + |