One of the most annoying limitations you may encounter in bottle when building bigger applications is the way templates are searched on the file system. At the time the template system was designed, nobody thought about multi-app projects, third-party apps, Bottle.mount() and the complexities these features introduce. The typical …
read moreOther articles
Thread-locals and Generators
Looks like the next release (0.11) will break backwards compatibility in some edge cases. I am working on a patch that affects routes that stream content (yield) and access request/response after the first chunk of data is returned.
Details
Accessing the thread-local request/response objects after yielding a …
TAL Templates deprecated
Andrea Belvedere found a bug in SimpleTALTemplates that went unnoticed for months. Conclusion: Nobody actually uses Bottle+TAL.
Perhaps it is a good time to remove SimpleTALTemplate support instead of fixing it. Or move it to a plugin.
Here is the deal: The TAL template adapter needs a maintainer or …
read moreCustom Request Attributes
This might be useful for Plugin developers: https://github.com/bottlepy/bottle/commit/a21d71694fdea222844dba5076efad3726ccdb68
To sum it up: You can now add custom attributes or properties to the bottle.request object. These are stored in the environ dictionary ('bottle.request.ext.*' namespace) which has some advantages over traditional instance attributes …
read moreNative Py3k support merged
It was a lot of work, but I could finally drop the 2to3 requirement! The Bottle sources now support Python 2.5, 2.6, 2.7, 3,1 and 3.2 natively. All tests pass. No measurable performance drawback. Full backwards compatible. Its pure win :)
You can test it directly …
read moreNative Python 2.x-3.x support
A few days ago, Ralf showed us his version of Bottle 0.9 that supports python 2.x and 3.x from a single source. No need to run 2to3 anymore, it runs natively with both major versions of Python.
I want that!
So I created a new branch and …
read moreMore robust Auto-reload
The Bottle auto-reload feature got an upgrade today: It is now able to handle syntax and import errors in your application or imported modules. Just start the server with the new command-line interface and give it a try:
bottle.py --debug --reload package.module:app
I had to change a …
read moreRouting Overhaul
It took some time, but the new routing code is finished.
Highlights:
- New wildcard syntax: /object/<id:int>
- Wildcard filtering/validation as part of the route syntax
- Support for custom wildcard filters
- Faster url() building
- Better error messages
- Much simpler code (I dropped CGI optimization)
- Lots of documentation
- (the old …
Page 1 / 1