UUGRN Stammtisch.sh: Unterschied zwischen den Versionen
Rabe (Diskussion | Beiträge) (Script und Funktionsweise.) |
Rabe (Diskussion | Beiträge) (Neuer Termin und Neue Location für den UNIX Stammtisch in Mannheim, neues Script) |
||
Zeile 1: | Zeile 1: | ||
Dieses Script ermittelt | Dieses Script ermittelt die [[UUGRN:Stammtisch|Stammtischtermine]] in Mannheim gibt passenden SQL-Code für die Kalender-Tabelle aus. | ||
== Funktionsweise == | == 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. | |||
Die | ; 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/'; | |||
[[Kategorie:Script]] | [[Kategorie:Script]] | ||
[[Kategorie:Verein]] | [[Kategorie:Verein]] |
Version vom 18. Juni 2008, 19:40 Uhr
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/';