Bottle: Micro Web Framework
-
- User
- Beiträge: 996
- Registriert: Mittwoch 9. Januar 2008, 13:48
Hyperion fragt deswegen, weil er die Vermutung hat, dass es für dein Problem eine einfachere Lösung gibt als die von dir erdachte. Wenn du das Problem erklärst, kann man dir vielleicht Hinweise geben, wie man das ohne diese Starter-Prüfung lösen kann.
- noisefloor
- User
- Beiträge: 4149
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
kann man ermitteln, welcher Nutzer den Prozess gestartet bzw. unser welchem Nutzer er läuft?
Wenn's Apache sollte der Nutzer ziemlich sicher ein anderen sein als ein manueller Start?
BTW: Reicht der Port wirklich nicht? Default wäre ja Port 80 vs. Port 8080 (oder ein anderen, unprivilegierter Port).
Gruß, noisefloor
P.S.: Es würde mich auch interessieren, was in Abhängigkeiten von Startmethode anders sein soll.
kann man ermitteln, welcher Nutzer den Prozess gestartet bzw. unser welchem Nutzer er läuft?
Wenn's Apache sollte der Nutzer ziemlich sicher ein anderen sein als ein manueller Start?
BTW: Reicht der Port wirklich nicht? Default wäre ja Port 80 vs. Port 8080 (oder ein anderen, unprivilegierter Port).
Gruß, noisefloor
P.S.: Es würde mich auch interessieren, was in Abhängigkeiten von Startmethode anders sein soll.

Bottle-Bericht im freien Magazin 02/2011 (ab Seite 23).
(Ich sehe gerade, Marcel ist da selbst im Interview...)
(Ich sehe gerade, Marcel ist da selbst im Interview...)
- noisefloor
- User
- Beiträge: 4149
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,

Gruß, noisefloor
Wenn schon, dann auch komplett.snafu hat geschrieben:Bottle-Bericht im freien Magazin 02/2011 (ab Seite 23).
(Ich sehe gerade, Marcel ist da selbst im Interview...)

Gruß, noisefloor
- noisefloor
- User
- Beiträge: 4149
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
das ich beim Schreiben des Artikels die Gelegenheit genutzt habe, Marcel (per E-Mail) zu Interview. Kommt halt nicht sooo oft vor, dass ich was für FM Schreibe und direkt den Autor der Software dazu befragen kann.
Gruß, noisefloor
das ich beim Schreiben des Artikels die Gelegenheit genutzt habe, Marcel (per E-Mail) zu Interview. Kommt halt nicht sooo oft vor, dass ich was für FM Schreibe und direkt den Autor der Software dazu befragen kann.
Gruß, noisefloor
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Version 0.9 ist veröffentlicht 
Changelog: http://bottlepy.org/docs/dev/changelog.html#release-0-9
Download: http://pypi.python.org/pypi/bottle/0.9.1
Die größte Neuerung ist, wie angekündigt, eine neue Plugin API. Darauf bin ich besonders stolz, die kann nämlich deutlich mehr als die üblichen '[before/after]_request' callbacks und ist trotzdem einfach zu benutzen. Zwei Plugins habe ich als Beispiele schon dazu gepackt:
bottle-sqlite: Regelt den ganzen connect/commit/close kram für eine sqlite3 Datenbank.
bottle-werkzeug: Integriert die "werkzeug" Bibliothek (request/response Objekte und den interaktiven Debugger) und ist meine Antwort auf die "Flask ist besser weil wegen werkzeug" Argumentation.
Dazu gibt es ne Wagenladung kleiner Verbesserungen. Ein Update lohnt sich auf jeden Fall.
Danke an alle, die mit geholfen haben
Feedback ist natürlich willkommen.

Changelog: http://bottlepy.org/docs/dev/changelog.html#release-0-9
Download: http://pypi.python.org/pypi/bottle/0.9.1
Die größte Neuerung ist, wie angekündigt, eine neue Plugin API. Darauf bin ich besonders stolz, die kann nämlich deutlich mehr als die üblichen '[before/after]_request' callbacks und ist trotzdem einfach zu benutzen. Zwei Plugins habe ich als Beispiele schon dazu gepackt:
bottle-sqlite: Regelt den ganzen connect/commit/close kram für eine sqlite3 Datenbank.
bottle-werkzeug: Integriert die "werkzeug" Bibliothek (request/response Objekte und den interaktiven Debugger) und ist meine Antwort auf die "Flask ist besser weil wegen werkzeug" Argumentation.
Dazu gibt es ne Wagenladung kleiner Verbesserungen. Ein Update lohnt sich auf jeden Fall.
Danke an alle, die mit geholfen haben

Bottle: Micro Web Framework + Development Blog
- noisefloor
- User
- Beiträge: 4149
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
kommt als nächstes eigentlich Version 1.0 oder 0.10?
Gruß, noisefloor
kommt als nächstes eigentlich Version 1.0 oder 0.10?
Gruß, noisefloor
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Da bottle noch nicht fertig ist, sehr wahrscheinlich 0.10
Als nächstes werde ich wohl das Request-Object auf bohren. Ein rewrite der Template Engine liegt auch schon ne Weile in nem separaten Branch. Dann will ich noch multipart integrieren und den Python 3 Support perfektionieren. Ist also noch viel zu tun
Als nächstes werde ich wohl das Request-Object auf bohren. Ein rewrite der Template Engine liegt auch schon ne Weile in nem separaten Branch. Dann will ich noch multipart integrieren und den Python 3 Support perfektionieren. Ist also noch viel zu tun

Bottle: Micro Web Framework + Development Blog
Und ich glaube, es würde in einigen Fällen hilfreich sein, wenn `static_file()` auch ein Dateiobjekt anstatt nur den Dateinamen annehmen könnte. Insbesondere im Hinblick auf "`StringIO()`-Geschichten", d.h. wo Dateien auf Anfrage generiert werden.
@snafu: Dynamisch generierte Dateien bei einer Funktion die `static_file()` heisst, klingt irgendwie falsch IMHO.
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Bringt nicht viel, da die meisten Features von static_file() nur funktionieren, wenn es sich um eine echte Datei handelt. Du kannst aber auch einfach eine StringIO() Instanz zurück geben, ohne static_file() zu benutzen. Das geht genau so.snafu hat geschrieben:Und ich glaube, es würde in einigen Fällen hilfreich sein, wenn `static_file()` auch ein Dateiobjekt anstatt nur den Dateinamen annehmen könnte. Insbesondere im Hinblick auf "`StringIO()`-Geschichten", d.h. wo Dateien auf Anfrage generiert werden.
Ich will mittelfristig aber sowieso die Funktionalität von static_file() nach Response() verschieben, damit die ebenfalls mit If-ETag, If-Modified-Since u.s.w. umgehen kann. Dann kann man Response() manuell instantiieren und z.B. selbst berechnete ETags benutzen.
Bottle: Micro Web Framework + Development Blog
Ah, verstehe. Ist manchmal einfacher als man denkt.Defnull hat geschrieben:Du kannst aber auch einfach eine StringIO() Instanz zurück geben, ohne static_file() zu benutzen. Das geht genau so.

Das mit der Auslagerung ins Response-Objekt ist wahrscheinlich wirklich keine schlechte Idee.
- noisefloor
- User
- Beiträge: 4149
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
snafu +1 - würde mir bzw. meinen Applikation auch sehr nützen.
EDIT: Mist, nicht alle Posts vorher gelesen. Also streicht dieses Posting.
Gruß, noisefloor
snafu +1 - würde mir bzw. meinen Applikation auch sehr nützen.

EDIT: Mist, nicht alle Posts vorher gelesen. Also streicht dieses Posting.
Gruß, noisefloor