UUGRN Stammtisch.sh

Aus UUGRN
Version vom 18. Juni 2008, 19:40 Uhr von Rabe (Diskussion | Beiträge) (Neuer Termin und Neue Location für den UNIX Stammtisch in Mannheim, neues Script)

Dieses Script ermittelt die Stammtischtermine in Mannheim gibt passenden SQL-Code für die Kalender-Tabelle aus.

Funktionsweise

gegeben

Der Stammtisch findet immer am 2. Mittwoch im Monat um 20 Uhr in der Tomate in Mannheim (ORT_ID=7) statt.

Bedingungen

Der 2. Wochentag eines Monats ist immer zwischen dem 8. und dem 14., der Mittwoch ist Wochentag Nummer 3.

Code

Die beiden for-Schleifen durchlaufen für alle Monate alle Tage von 8 bis 14. Dabei wird für ein gegebenes Jahr ein Datum im ISO-Format erzeugt und an GNU-date übergeben. GNU-date erzeugt das Ausgabeformat

Wochentag|ISO-Datum|UNIX-Timestamp

Mit grep werden alle Zeilen ausgefischt, die mit 3 beginnen, das ist jeweils der Mittwoch. Alle anderen Zeilen werden verworfen. Die folgende while-Schleife erzeugt den SQL-Output für die Kalender-Tabelle.

Dabei wird das ISO-Datum hier nicht verwendet, es dient lediglich der Kontrolle. Sollte eine Tabelle gefüllt werden, die statt eines Integer-Wertes (Timestamp) ein echtes Datum erwartet, kann dieses hier verwendet werden.


Bourne-Shell-Code

J=2009 
for M in 1 2 3 4 5 6 7 8 9 10 11 12; do 
  for T in 8 9 10 11 12 13 14 ; do 
    gdate "+%w|%Y-%m-%d %H:%M:%S|%s" --date "$J-$M-$T 20:00:00" 
  done 
done | 
grep ^3 | 
while IFS='|' read WT DAT TS; do 
  echo "insert into KALENDER set ID=0, DATUM=$TS, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/';"
done


Ausgabe für 2009

insert into KALENDER set ID=0, DATUM=1231959600, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM=1234378800, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM=1236798000, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM=1239213600, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM=1242237600, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM=1244656800, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM=1247076000, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM=1250100000, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM=1252519200, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM=1255543200, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM=1257966000, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/';
insert into KALENDER set ID=0, DATUM=1260385200, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/';