Bottle: Micro Web Framework

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
zoxzox3
User
Beiträge: 14
Registriert: Dienstag 26. Januar 2010, 18:21

Leonidas hat geschrieben:
zoxzox3 hat geschrieben:wiki by bottle in 23 minuten
http://lega.selfip.com/page/23 (video 33Mb, Host ist nicht verfügbar, in der Nacht)
:)
Ich würds ja mirrorn, aber der Host ist nicht verfügbar ;)
time work for host 3:00 - 19:00 UTC
Benutzeravatar
Defnull
User
Beiträge: 778
Registriert: Donnerstag 18. Juni 2009, 22:09
Wohnort: Göttingen
Kontaktdaten:

@file uploads:
Bottle uses cgi.FieldStorage to parse POST requests. Non-File data is flattened (request.POST['foo']='bar') but file uploads are not to preserve additional information: they have x.filename, x.value and x.file attributes. The latter points to a seek-able temporary file object. To copy big files to disk, you have to do this in smaller chunks to avoid memory exhaustion.

Code: Alles auswählen

with open('/tmp/upload.file', 'wb') as target:
  for chunk in bottle.request.POST['upload'].value.read(1024*10):
    target.write(chunk)
@redirect
According to HTTP (rfc2616), the Location-header MUST be an absolute URL. Relative or absolute paths are not allowed. That is why bottle guesses the parts that are not provided by the user. You may, however, specify a full URL (including http://) to bottle.redirect() and it will overwrite all other guessed settings.

For your usecase, the best solution would be to install a middleware to correct the the HTTP_HOST and SERVER_NAME environment fields. This way, bottle is able to guess the absolute URL correctly.

@video
I'll have a look as soon as it is available :) Thanks!

@all:
Es ist einfacher für mich und den Fragenden, solche Fragen in Englisch zu beantworten. Ich hoffe, es stört hier keinen. Auf Wunsch übersetzte ich meine Beiträge aber auch ins Deutsche.
Bottle: Micro Web Framework + Development Blog
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

mkesper hat geschrieben:Direkter Link zum Video ist: http://lega.selfip.com/uploads/23/wiki23min.flv
Theora-Mirror (24/7 up, hohe Bandbreite, spielt in gängigen HTML5-Browsern).
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Defnull hat geschrieben:@all:
Es ist einfacher für mich und den Fragenden, solche Fragen in Englisch zu beantworten. Ich hoffe, es stört hier keinen. Auf Wunsch übersetzte ich meine Beiträge aber auch ins Deutsche.
Es ist Deutschland hier :twisted: SCNR
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Leonidas hat geschrieben:
mkesper hat geschrieben:Direkter Link zum Video ist: http://lega.selfip.com/uploads/23/wiki23min.flv
Theora-Mirror (24/7 up, hohe Bandbreite, spielt in gängigen HTML5-Browsern).
Danke dafür. Aber kurze Frage: Gibt es keinen Ton dazu? Oder ist das bei mir ein Problem?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Hyperion hat geschrieben:Danke dafür. Aber kurze Frage: Gibt es keinen Ton dazu? Oder ist das bei mir ein Problem?
Also im Original-Video habe ich (mit mplayer) keine Tonspur finden können.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Leonidas hat geschrieben:
Hyperion hat geschrieben:Danke dafür. Aber kurze Frage: Gibt es keinen Ton dazu? Oder ist das bei mir ein Problem?
Also im Original-Video habe ich (mit mplayer) keine Tonspur finden können.
Ok, dann wirds wohl keinen geben. Schade. So ist es leider irgend wie dröge anzugucken.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Hyperion hat geschrieben:Ok, dann wirds wohl keinen geben. Schade. So ist es leider irgend wie dröge anzugucken.
Wenn der Autor nichts dazu sagen wollte (weil er kein Mikrofon hat oder nicht gerne ins Video spricht) ist es besser ohne Ton, da kann man im Hintergrund ja noch wunderbar Webradio hören :)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Leonidas hat geschrieben:
Hyperion hat geschrieben:Ok, dann wirds wohl keinen geben. Schade. So ist es leider irgend wie dröge anzugucken.
Wenn der Autor nichts dazu sagen wollte (weil er kein Mikrofon hat oder nicht gerne ins Video spricht) ist es besser ohne Ton, da kann man im Hintergrund ja noch wunderbar Webradio hören :)
*g* Hatten wir nicht erst in nem anderen Thread das Thema "Ablenkung" ;-) Aber ok, genug OT :-D
Benutzeravatar
webwurst
User
Beiträge: 7
Registriert: Sonntag 7. Februar 2010, 02:23

Ein 'Ü' in einem Jinja2-Template brachte mir:
Unhandled Exception: UnicodeDecodeError('ascii',\xc3\x9cbersicht, 1138, 1139, 'ordinal not in range(128)')

Es hilft in bottle.py (Version 0.6.4) in Zeile 847 ein ".decode('utf-8')" anzuhängen. Siehe auch das Beispiel für einen
Jinja2 BaseLoader in der Jinja2 Doku.

Besten Dank für Bottle! Gefällt mir super!
zoxzox3
User
Beiträge: 14
Registriert: Dienstag 26. Januar 2010, 18:21

webwurst hat geschrieben:Ein 'Ü' in einem Jinja2-Template brachte mir:
Unhandled Exception: UnicodeDecodeError('ascii',\xc3\x9cbersicht, 1138, 1139, 'ordinal not in range(128)')

Es hilft in bottle.py (Version 0.6.4) in Zeile 847 ein ".decode('utf-8')" anzuhängen. Siehe auch das Beispiel für einen
Jinja2 BaseLoader in der Jinja2 Doku.

Besten Dank für Bottle! Gefällt mir super!
this
use last version from source
Benutzeravatar
snafu
User
Beiträge: 6850
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Mir fiel's auch auf. Vielleicht mal ne aktuelle Version in den Cheeseshop laden. ;)
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Hatte mich neulich mal an einem kleinen Tutorial zu Bottle versucht: http://vimeo.com/9352480 - Viel Spaß.

Stefan
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Danke dafür! Hat mir (wie immer) sehr gefallen :-)

Edit: evtl. hättest Du den kleinen "Trick" erwähnen können, dass load_page bei Nichtvorhandensein einer Seite einfach eine "leere" zurückliefert und man so neue Seiten anlegen kann.

Außerdem wäre ein Link zum Quellcode eine super Sache :-) (Hattest Du bei Deinen ersten Video Tuts ja auch)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

sma hat geschrieben:Hatte mich neulich mal an einem kleinen Tutorial zu Bottle versucht: http://vimeo.com/9352480 - Viel Spaß.
Habe hier auch noch einen Theora-Mirror. H.264 komprimiert etwas besser, aber auf die paar Megabyte Unterschied kommt es auch nicht mehr an.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Hyperion hat geschrieben:Danke dafür! Hat mir (wie immer) sehr gefallen :-)
Bitte.
Hyperion hat geschrieben:Edit: evtl. hättest Du den kleinen "Trick" erwähnen können, dass load_page bei Nichtvorhandensein einer Seite einfach eine "leere" zurückliefert und man so neue Seiten anlegen kann.
Sieht man doch ganz kurz im Quelltext :)

Ich wollte eigentlich noch eine längere Version machen, da 5min doch einfach zu kurz sind. Da kommt dann auch der Quelltext dazu. Momentan bin ich aber stimmlich immer noch zu angeschlagen.

Stefan
Benutzeravatar
Defnull
User
Beiträge: 778
Registriert: Donnerstag 18. Juni 2009, 22:09
Wohnort: Göttingen
Kontaktdaten:

sma hat geschrieben:Hatte mich neulich mal an einem kleinen Tutorial zu Bottle versucht: http://vimeo.com/9352480 - Viel Spaß.
Geniales Tutorial! Stimme und Aufbau sind sehr gut, deutlich und angenehm. Du könntest damit nen Video-Blog auf machen :) Ein Link zu den Quelltexten wäre natürlich noch nicht schlecht, sonst habe ich keinerlei Kritik. Danke dafür :)
Bottle: Micro Web Framework + Development Blog
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

"Ich stopf dort die Seite [..] hinein" :D

Sehr blumige Sprache. Irgendwie sind 7 von 10 Tutorials Wikis, 2 sind Blogs und eins ist irgendwas. Aber 5 Minuten ist glaube ich Rekord ;)


EDIT:Markdown kannte ich noch nicht. Sieht interessant aus und scheint mehr zu können als creoleparser, kann das sein?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

burli hat geschrieben: Aber 5 Minuten ist glaube ich Rekord ;)
Wobei das Wiki-Beispiel von Mitsuhiku von werkzeug zwar ca 30 Minuten dauert, er aber auch wirklich alle Zeilen live tippert ;-) Sma hat ja (zurecht imho) durchaus vieles vorbereitet.

Und gerade weil so ein Wiki Beispiel recht verbreitet ist, ist die Vergleichbarkeit mit anderen Frameworks ja viel leichter möglich :-)
Antworten