8.5.5 The ModularSessionApp Class

The ModularSessionApp class is intended for use in applications which define page code in a collection of Python modules. Session state is stored at the server.

Figure: The ModularSessionApp class
 
\includegraphics{modularsessapp}

The methods available in ModularSessionApp and the location of their definition are show below.

Method  Mixin 
base_url() Application
create_context() ModularSessionApp
del_session(sesid) SessionServerAppMixin
discard_file_resources(filename) ResourceMixin
display_response(ctx) PageModuleMixin
format_exception() Application
get_lookup(name) ResourceMixin
get_macro(name) ResourceMixin
get_session(sesid) SessionServerAppMixin
get_tagclass(name) ResourceMixin
handle_exception(ctx, req) Application
is_page_module(name) PageModuleMixin
load_page(ctx) PageModuleMixin
load_page_module(ctx, name) PageModuleMixin
load_session(ctx) Application
load_template(name) CachingTemplateLoaderMixin
load_template_once(name) CachingTemplateLoaderMixin
merge_request(ctx) Application
module_path() PageModuleMixin
new_session() SessionServerAppMixin
page_enter(ctx, args) PageModuleMixin
page_leave(ctx) PageModuleMixin
pickle_sign(text) PickleSignMixin
pickle_unsign(text) PickleSignMixin
process_request(ctx) PageModuleMixin
put_session(sesid, text) SessionServerAppMixin
register_lookup(name, lookup) ResourceMixin
register_macro(name, macro) ResourceMixin
register_tagclasses(*tags) ResourceMixin
remove_session(ctx) Application
run(req) Application
save_session(ctx) Application
ses_age() SessionServerAppMixin
ses_appid() SessionServerAppMixin
start_page() PageModuleMixin
template_traceback(tb) Application
validate_request(ctx) Application

The ModularSessionApp class defines the following methods:

__init__( base_url, module_path, template_path, start_page, secret, session_appid [, session_server = 'localhost'][, server_port = 34343][, session_age = 1800])
When you inherit from the ModularSessionApp class you must call this constructor.

The base_url argument is used as the base for URLs produced by the <al-a> and <al-form> tags. The module_path argument defines the root directory where page modules are loaded from. The template_path argument defines the root directory where template files are loaded from. The start_page identifies the first page that will be served up in a new browser session. The secret argument is used to MD5 sign all pickles sent to the browser.

The session_appid argument identifies the session application at the session server. Multiple applications can share sessions by using the same identifier here. The session_server argument defines the host where the session server is running, it defaults to localhost. The server_port defines the session server port, it defaults to 34343. The session_age argument defines the number of seconds that an idle session will be kept, it defaults to 1800.

create_context( )
Returns a new instance of the SessionAppContext class.