Tiefer in den Bau

Tiefer in den Bau

Meiner Selbsteinschätzung nach gehöre ich zu den Menschen, die anlassbedingt lernen. Ganz deutlich merke ich das bei einer neuen Programmiersprache. Gelernt wird nicht auf Vorrat, sondern nach Notwendigkeit. So ist es derzeit auch bei Python. Erst durch die Idee, eine eigene Zusammenstellung von Nachrichten zu generieren, habe ich damit angefangen, mich ernsthaft mit Python auseinander zu setzen.

Mittlerweile geht es immer tiefer in den Kaninchenbau. Je mehr Möglichkeiten ich entdecke, desto spannender finde ich das Ganze — obwohl ich gerade mal an der Oberfläche kratze.

Gestern Abend, als meine Frau bereits im Bett schlief, lag ich hell wach neben ihr und überarbeitet meine Ausgabefunktion. Bis dahin hatte ich für jede Quelle einen eigene Webview, was völliger Blödsinn ist. Die einzelnen Bereich kommen sich in die Quere, Texte brechen ungünstig um und performant ist es auch nicht wirklich. Also musste ein Template her. Dabei geht das Einlesen einer Datei mit Python deutlich eleganter als mit PHP, wie ich finde. Genau so das ersetzen von Ausdrücken innerhalb eines Strings.

Auf diese Weise gelang es mir, in meinem Webview eines der HTML-Beispiel von Boostrap zu laden und dazu die CSS-Datei zu inkludieren. Aber obwohl das Ergebnis bereits eine deutliche Weiterentwicklung für mich darstellte, war ich nicht zufrieden. Grübelnd schlief ich ein, nur um heute morgen beim Frühstück zwischen Kaffee und Brötchen weiterzumachen.

Ich ging der Idee nach, die CSS-Datei innerhalb der HTML-Datei durch den Webview nachladen zu lassen, so wie man es eben mit href="css/bootstrap.min.css" rel="stylesheet"> macht. Ging leider nicht. Auch nicht mit dem absoluten Pfad (aber da gebe ich die Hoffnung noch nicht auf, etwas zu finden).

Bei meiner Suche stolperte ich dann über eine Flasche, genauer gesagt über Bottle. Man muss sich, gerade auf so geschlossenen Systemen wie iOS auf der Zunge zergehen lassen, was damit eigentlich möglich ist. Hier das Beispiel aus der Dokumentation:

from bottle import route, run
@route('/hello')
def hello():
return "Hello World!"
run(host='localhost', port=8080, debug=True)

Damit startet man einen Webserver in Python beziehungsweise in meinem Fall in Pythonista. Der läuft im Hintergrund, eine Ausgabe gibt es erstmal nicht. Startet man dann auf dem iPad Safari und ruft http://localhost:8080/hello, sieht man die Ausgabe des Webservers. Über Bottle lassen sich noch ganz andere Sachen realisieren — hoch spannend, wie ich finde.

Im Übrigen: je mehr ich von Python und dem verstehe, was sich auf dem iPad im Zusammenspiel mit HTML 5 und CSS 3 machen lässt, desto weniger kann ich nachvollziehen, warum der Kölner Stadt-Anzeiger so eine furchtbare App herausgebracht hat.

Kommentar verfassen

über Thomas Boley

Geboren wurde ich im Jahre des Herren 1971 in Wesel am Niederrhein – die Kommentare an dieser Stelle bezüglich des Bürgermeisters bitte verkneifen! Mein Verhältnis zu dieser Stadt würde wohl den Umfang dieser Seite sprengen. Nur soviel sei gesagt: Es ist durchaus durchwachsen, worin es sich aber nicht von meinem Verhältnis zu Bielefeld unterscheidet. Nach dem üblichen Werdegang (Kindergarten, Schule, Abitur, Zivildienst) und den üblichen jugendlichen Irrungen und Wirrungen verschlug es mich zum Studium nach Bielefeld verschlagen. 18 Jahre später ging es dann zurück an den Rhein, in die Domstadt Köln. mehr erfahren