bitreich-tardis

front-end for navigating bitreich memes and TV dimensions
git clone git://src.adamsgaard.dk/bitreich-tardis # fast
git clone https://src.adamsgaard.dk/bitreich-tardis.git # slow
Log | Files | Refs Back to index

commit 8a0d872bd6059d8e4cc00ab30bfef64fcfd8563d
Author: Anders Damsgaard <anders@adamsgaard.dk>
Date:   Mon, 15 Feb 2021 14:32:04 +0100

add tardis script

Diffstat:
Atardis | 52++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+), 0 deletions(-)

diff --git a/tardis b/tardis @@ -0,0 +1,52 @@ +#!/bin/sh +# select bitreich tv dimensions and memecache memes. + +annna="$HOME/.cache/annna" +hashtags="${annna}/modules/hashtags/hashtags.txt" +dimensions="${annna}/dimensions.txt" +updatestr="update local memecache" +interludestr="watch Bitreich TV interlude" + +update() { + cd "$annna" && git pull >/dev/null + getdimensions +} + +getdimensions() { + printf '/tv\n' | nc bitreich.org 70 | grep -E '^9.*\.m3u' |\ + awk -F' ' '{printf("gopher://%s:%d/%c%s\n", $3, $4, $1, $2)}' \ + > "$dimensions" +} + +init() { + if ! test -r "$hashtags"; then + if ! test -d "$(dirname "$annna")"; then + mkdir -p "$(dirname "$annna")" + fi + cd "$(dirname "$annna")" + git clone git://bitreich.org/annna + fi + if ! test -r "$dimensions"; then + getdimensions + fi +} + +init +meme="$((printf '%s\n%s\n' "$updatestr" "$interludestr"; \ + cat "$dimensions" "$hashtags") | dmenu -l 10 -p "${0##*/}:")" +if test "$meme" = "$updatestr"; then + update +elif test "$meme" = "$interludestr"; then + xdg-open ssh://time-machine@bitreich.org +elif test "$meme"; then + if printf '%s\n' "$meme" | grep -qE '\.m3u$'; then + printf '%s' "${meme}" | xclip -i + mpv "$meme" + else + printf '%s' "${meme% *}" | xclip -i + printf '%s' "${meme#* }" | xclip -i -selection clipboard + xdg-open "${meme#* }" + fi +else + exit 1 +fi