UUGRN Stammtisch.sh: Unterschied zwischen den Versionen
Aus UUGRN
Rabe (Diskussion | Beiträge) (Neuer Termin und Neue Location für den UNIX Stammtisch in Mannheim, neues Script) |
Rabe (Diskussion | Beiträge) K (aktuelles script) |
||
Zeile 1: | Zeile 1: | ||
Dieses Script ermittelt die [[UUGRN:Stammtisch|Stammtischtermine]] | Dieses Script ermittelt die [[UUGRN:Stammtisch|Stammtischtermine]] und [[UUGRN:FIXME Treffen]] und gibt passenden SQL-Code für die Kalender-Tabelle aus. | ||
== | == Script == | ||
<code><pre> | |||
#! /bin/sh | |||
YEAR=${1:-$(date +%Y)} | |||
test "${YEAR}" -gt 2000 -a "${YEAR}" -lt 2038 || YEAR="$(date +%Y)" | |||
for MONTH in $(gseq -w 01 12); do for DAY in $(gseq -w 01 31); do | |||
gdate "+%u|%d|%F" --date "${YEAR}-${MONTH}-${DAY}" 2>/dev/null | |||
done; done | | |||
while IFS='|' read DOW DOM DATE; do | |||
case ${DOM} in | |||
01|02|03|04|05|06|07) NIM=1 ;; | |||
08|09|10|11|12|13|14) NIM=2 ;; | |||
15|16|17|18|19|20|21) NIM=3 ;; | |||
22|23|24|25|26|27|28) NIM=4 ;; | |||
29|30|31) NIM=5 ;; | |||
*) NIM="0" ;; | |||
esac | |||
SQL="insert into KALENDER set ID=0" | |||
SQL2="" | |||
case ${NIM}-${DOW} in | |||
1-5) # 1. Freitag | |||
SQL2=", DATUM='${DATE} 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/'" | |||
;; | |||
3-1) # 3. Montag | |||
SQL2=", DATUM='${DATE} 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/'" | |||
;; | |||
esac | |||
if [ -n "${SQL2}" ]; then | |||
echo "${SQL}${SQL2};" | |||
fi | |||
done | |||
</pre></code> | |||
== | === Variablen === | ||
;YEAR,MONTH,DAY: Iteriert über alle Kalendertage des angegebenen Jahres | |||
;DOW: day-of-week [1..7], 1=Montag | |||
;DOM: day-of-month [1..31] | |||
;NIM: Nth-in-month [1..5] | |||
== Ausgabe | == Aufruf / Ausgabe == | ||
<code><pre> | |||
$ bin/uugrn_stammtischkalender.sh 2011 | |||
insert into KALENDER set ID=0, DATUM='2011-01-07 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-01-17 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-02-04 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-02-21 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-03-04 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-03-21 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-04-01 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-04-18 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-05-06 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-05-16 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-06-03 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-06-20 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-07-01 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-07-18 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-08-05 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-08-15 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-09-02 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-09-19 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-10-07 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-10-17 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-11-04 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-11-21 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-12-02 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/'; | |||
insert into KALENDER set ID=0, DATUM='2011-12-19 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/'; | |||
</pre></code> | |||
[[Kategorie:Script]] | [[Kategorie:Script]] | ||
[[Kategorie:Verein]] | [[Kategorie:Verein]] |
Version vom 18. Dezember 2010, 11:39 Uhr
Dieses Script ermittelt die Stammtischtermine und UUGRN:FIXME Treffen und gibt passenden SQL-Code für die Kalender-Tabelle aus.
Script
#! /bin/sh
YEAR=${1:-$(date +%Y)}
test "${YEAR}" -gt 2000 -a "${YEAR}" -lt 2038 || YEAR="$(date +%Y)"
for MONTH in $(gseq -w 01 12); do for DAY in $(gseq -w 01 31); do
gdate "+%u|%d|%F" --date "${YEAR}-${MONTH}-${DAY}" 2>/dev/null
done; done |
while IFS='|' read DOW DOM DATE; do
case ${DOM} in
01|02|03|04|05|06|07) NIM=1 ;;
08|09|10|11|12|13|14) NIM=2 ;;
15|16|17|18|19|20|21) NIM=3 ;;
22|23|24|25|26|27|28) NIM=4 ;;
29|30|31) NIM=5 ;;
*) NIM="0" ;;
esac
SQL="insert into KALENDER set ID=0"
SQL2=""
case ${NIM}-${DOW} in
1-5) # 1. Freitag
SQL2=", DATUM='${DATE} 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/'"
;;
3-1) # 3. Montag
SQL2=", DATUM='${DATE} 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/'"
;;
esac
if [ -n "${SQL2}" ]; then
echo "${SQL}${SQL2};"
fi
done
Variablen
- YEAR,MONTH,DAY
- Iteriert über alle Kalendertage des angegebenen Jahres
- DOW
- day-of-week [1..7], 1=Montag
- DOM
- day-of-month [1..31]
- NIM
- Nth-in-month [1..5]
Aufruf / Ausgabe
$ bin/uugrn_stammtischkalender.sh 2011
insert into KALENDER set ID=0, DATUM='2011-01-07 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-01-17 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-02-04 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-02-21 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-03-04 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-03-21 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-04-01 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-04-18 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-05-06 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-05-16 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-06-03 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-06-20 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-07-01 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-07-18 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-08-05 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-08-15 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-09-02 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-09-19 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-10-07 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-10-17 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-11-04 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-11-21 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-12-02 20:00:00', ORT_ID=11, TEXT='FIXME', EVENT_LINK='http://fixme.uugrn.org/';
insert into KALENDER set ID=0, DATUM='2011-12-19 20:00:00', ORT_ID=12, TEXT='UnixStammtisch', EVENT_LINK='http://stammtisch.uugrn.org/';