WebKit version 0.9.1 released on 04/23/06
writeMetaData()
and
writeJavaScript()
to the Page
class
that will be called by writeHeadParts()
.AjaxSuggest
demonstrating the use of Ajax with Webware for Python.
A baseclass AjaxPage
and the necessary JavaScript
supporting these techniques are also included in the Examples context.
(Thanks to John Dickinson and Robert Forkel.)ImportSpy
module
to keep track of which modules have been imported. ImportSpy
was based on the old ihooks
module which could raise problems
with other incompatible importing mechanisms like Cheetah templates or when
using zipped Python eggs. This problem has been tackled from two sides,
first by replacing ihooks with new (PEP 302) import hooks if available (they
were implemented in Python 2.3), and second by allowing to suppress the use
of ImportSpy
completely by setting UseImportSpy
to False in AppServer.config.
In this case, sys.modules
will be polled regularly.
The ImportSpy
module now contains only the import hooks,
the rest of the functionality for tracking and managing concurrent import
has been sourced out to the new ImportManager
module.__contains__
method has been defined for session objects,
so code like "if key in session
" works as expected.
As an aside, we could get complete dictionary functionality by
defining keys
and subclassing python's DictMixin.
Also, consider sessions with timeout zero to be expired. (Ken Lalonde)PassHeader Foowill pass the incoming HTTP header
Foo
, if present,
through to the AppServer. Servlets can retrieve the value like this:
v = self.request().environ().get('Foo')This generalizes the If-Modified-Since hack. You can use this, for example, to to pass Pound's "X-Forwarded-For" header through, which contains the real client IP address, in order to be logged by your WebKit application. Other minor changes (all by Ken Lalonde):
sockaddr_in
before use.EnableMonitor
to use this.