Files
fsr_generator/helpers/read_db.sh
Yannik Enss 151f11d90b major refactoring
* move all scripts not intended to be called directly to helpers/ dir
* introduce sequencer.py as replacement for various scripts
* introduce --save option to generate.py
* other smaller changes/bugfixes
2022-03-09 16:18:20 +01:00

39 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
set -e
: "${FSR_GEN_SSH_TO:=fsmi-login.fsmi.uni-karlsruhe.de}"
: "${FSR_GEN_SSH:=$(test "$(hostname -d)" = "fsmi.uni-karlsruhe.de" || echo 1)}"
sql() {
# $1: select
# $2: order_by
select="$1"
order_by="$2"
printf "
SELECT %s FROM protokolle
WHERE ist_veroeffentlicht=false AND name IS NULL
ORDER BY %s
" "$select" "$order_by" | tr '\n' ' '
}
cmd="psql --no-align --tuples-only service=fsmi -c"
cmd_raw="$cmd '$(sql "datum" "datum ASC")'"
cmd_last="$cmd '$(sql "protokoll" "datum DESC LIMIT 1")'"
if [ -z "$FSR_GEN_SSH" ] || [ "$FSR_GEN_SSH" -eq 0 ]; then
raw_proto="$(sh -c "$cmd_raw")"
sh -c "$cmd_last" >data/last_proto
else
raw_proto="$(ssh -- "$FSR_GEN_SSH_TO" "$cmd_raw")"
ssh -- "$FSR_GEN_SSH_TO" "$cmd_last" >data/last_proto
fi
for proto in $raw_proto; do
echo "* FSR-Protokoll vom $proto"
done > data/uvproto.txt
echo "$proto" > data/last_date
grep -ioP '(?<=nächste Redeleitung: ).*(?=</li>)' data/last_proto > data/redeleitung
grep -ioP '(?<=nächstes Protokoll: ).*(?=</li>)' data/last_proto > data/protokoll
grep -ioP '(?<=Ort: ).*(?=</li>)' data/last_proto > data/ort