Changes are:
fix: for web.background gotcha (Bug#133079)
fix: for postgres unicode bug (Bug#177265)
fix: web.profile behavior in python 2.5 (Bug#133080)
fix: only uppercase HTTP methods are allowed. (bug@#176415)
fix: transaction error in with statement (Bug#125118)
fix: unicode support in db.sqllist. (Bug#137042)
fix: fix in web.reparam (Bug#162085)
new: support for https
new: support for secure cookies
new: sendmail and emailerrors
new: htmlunquote
Please test this out with your software and let me know if there are any issues.
code is available at bazaar branch http://webpy.org/bzr/webpy-0.23.
https://bugs.launchpad.net/webpy/+bug/125295
> > new: support for secure cookies
>
> What's this?
https://bugs.launchpad.net/webpy/+bug/153361
> And finally, what was the reasoning from switching to return from
> print for making output? I never heard an answer on that?
switching to return from print is going to happen in 0.3, not in this release.
With returns code becomes very modular and extendable.
For example, if you want to pass output of all your GET and POST
methods through a layout template, it is not very straight forward to
do that with prints. But when you have returns, it is straight
forward. Here is an example that uses a decorator.
def layoutify(f):
def g(*a, **kw):
return render.layout(f(*a, **kw))
return g
class Hello:
@layoutify
def GET(self):
return "foo"
Still better, in 0.3 you can write a application processor to handle
all methods.
app = web.application(urls', globals())
def layout_processor(handler):
result = handler()
return render.layout(result)
If you have lot of code that uses prints, you don't have to worry. You
can write an application processor to handle that too.
def capture_stdout(handler):
return web.capturestdout(handler)()
app = web.application(urls, globals())
app.add_processor(capture_stdout)
I am working on module to make web.py 0.2x applications work
seemlessly with 0.3.
Fix committed.