The MEMS Exchange released version 1.3 of the QP package today.
http://www.mems-exchange.org/software/qp/
For the record, QP is a web application framework designed specifically
for applications that use Durus for persistent storage and the
QPY for formatting pages.
Here is a summary of the changes in this release:
Add form demo to proto site.
Add add_javascript_code() and get_javascript_code() utilities to
the form
module.
Simplify basic form css. Change form widget rendering to conform to
xhtml-strict. Remove render_br keyword option.
Add DOCTYPE to the default header.
Add style and doctype keyword options to header().
Add HTTPRequest.get_content_type().
Use "User Name" instead of "Email" as the widget title on the
default login
form.
Use / instead of "" for the path, when there is no script name.
Change secure() so that it does not raise an exception when there is no
https_address.
Set site in Publisher.__init__() before calling
ensure_database_initialized(), (formerly named ensure_initialized()).
In redirect(), use the existing response instead of making a new one.
This allows cookie headers to be part of a redirect response.
In DurusDirectory._q_lookup, call self.__class__ instead of
DurusDirectory.