38 lines
1.0 KiB
Bash
Executable File
38 lines
1.0 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
|