mensa2feed
Ich würde kirre werden, wenn ich jetzt in der Klausurzeit nur lernen würde. Ein Bisschen Abwechslung muss da schon sein.
Es hat mich schon sehr häufig genervt, dass es den Mensaplan nicht als RSS-Feed gibt, mal abgesehen vom grundscheußlichen Design der Studentenwerksseite. Meine Lösung und meine Beschäftigung während einer meiner Nicht-Lern-Abwechslungspausen: Ein RSS-”Proxy”, der die Studentenwerksseite in leichtverdauliche Feednachrichten zerlegt.
Hier kannst du den Mensa-Feed abonnieren.
Einige Anmerkungen: mensa2feed ist ziemlich dämlich. Das Skript gibt so ziemlich alles genau so wieder, wie es auf der Mensaplan-Seite steht – also verbessert sich natürlich nicht das Layout. (Und leider auch nicht das Essensangebot.) Wenn es doch noch einmal dazu kommen sollte, dass die HTML-Struktur des Mensaplans überarbeitet wird, ist es unwahrscheinlich, dass mensa2feed weiterhin funktioniert. Wie die Struktur bei Mensa-Aktionen (Oster-/ Weihnachts-Essen,…) aussieht, weiß ich nicht, also wird das bei mensa2feed bisher auch nicht berücksichtigt.
Zum Technischen:
Der Feed-Proxy basiert auf einem recht einfachen PHP-Skript, das sich die Mensaplan-Seite herunterlädt, die entsprechende HTML-Tabelle heraussucht und die Tabellenzeilen für jeden Tag als Feedeintrag ausgibt.
Zum Runterladen der Originalseite “borgt” sich das Skript zwei PHP-Klassen aus WordPress. Dieser Umweg war nötig, weil direkter HTTP-(Datei-)Zugriff auf meinem Server deaktiviert ist. Bei WordPress wird der HTTP-Zugriff über curl erledigt, und die WordPress-Klasse ist sogar recht komfortabel.
Damit mensa2feed nicht bei jeder RSS-Abfrage eines Clients auf die Mensaplan-Seite zugreifen muss, gibt es einen Zwischenspeicher. Genau an der Stelle muss ich aber noch mit der Ölkanne ran, um das laute Quietschen zu beseitigen. Denn bisher funktioniert es noch nicht so gut, dass mensa2feed Aktualisierungen auf der Mensaseite zuverlässig erkennt. Bisher war es so, dass alle zwei Tage oder sonntags auf die Mensaseite zugegriffen wurde und neue Feedeinträge erzeugt wurden, egal, ob der Mensaplan neu war oder nicht. Ich habe jetzt eine Abfrage eingebaut; Ob diese aber tatsächlich so funktioniert wie sie soll, wird sich noch zeigen. Der Test unter Realbedingungen ist ziemlich langwierig, weil der Plan nur einmal in der Woche aktualisiert wird.
Jetzt ruft mich meine 3 m²-Mensa. Was es da gibt, kann ich aber selbst bestimmen.