~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to ivle/dispatch/request.py

  • Committer: matt.giuca
  • Date: 2009-01-14 06:52:36 UTC
  • mto: This revision was merged to the branch mainline in revision 1090.
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:branches%2Fstorm:1127
New module: ivle.database. Classes and utilities for Storm ORM.
    Can currently get a Storm store.
ivle.dispatch.request: Heading comments to new standards.
    Added 'store' attribute to Request object. Creates and destroys it
    appropriately.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
# IVLE - Informatics Virtual Learning Environment
2
 
# Copyright (C) 2007-2008 The University of Melbourne
 
2
# Copyright (C) 2007-2009 The University of Melbourne
3
3
#
4
4
# This program is free software; you can redistribute it and/or modify
5
5
# it under the terms of the GNU General Public License as published by
15
15
# along with this program; if not, write to the Free Software
16
16
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17
17
 
18
 
# Module: dispatch.request
19
18
# Author: Matt Giuca
20
 
# Date:   12/12/2007
21
 
 
22
 
# Builds an IVLE request object from a mod_python request object.
23
 
# See design notes/apps/dispatch.txt for a full specification of this request
24
 
# object.
 
19
 
 
20
"""
 
21
IVLE Request Object
 
22
 
 
23
Builds an IVLE request object from a mod_python request object.
 
24
See design notes/apps/dispatch.txt for a full specification of this request
 
25
object.
 
26
"""
25
27
 
26
28
import mod_python
27
29
from mod_python import (util, Session, Cookie)
28
30
 
29
31
import ivle.util
30
32
import ivle.conf
 
33
import ivle.database
31
34
import plugins.console # XXX: Relies on www/ being in the Python path.
32
35
 
33
36
class Request:
48
51
        user (read)
49
52
            User object. Details of the user who is currently logged in, or
50
53
            None.
 
54
        store (read)
 
55
            storm.store.Store instance. Holds a database transaction open,
 
56
            which is available for the entire lifetime of the request.
51
57
        hostname (read)
52
58
            String. Hostname the server is running on.
53
59
        headers_in (read)
192
198
        self.headers_in = req.headers_in
193
199
        self.headers_out = req.headers_out
194
200
 
 
201
        # Open a database connection and transaction, keep it around for users
 
202
        # of the Request object to use
 
203
        self.store = ivle.database.get_store()
 
204
 
195
205
        # Default values for the output members
196
206
        self.status = Request.HTTP_OK
197
207
        self.content_type = None        # Use Apache's default
206
216
        self.write_javascript_settings = True
207
217
        self.got_common_vars = False
208
218
 
 
219
    def __del__(self):
 
220
        """Cleanup."""
 
221
        self.store.close()
 
222
 
209
223
    def __writeheaders(self):
210
224
        """Writes out the HTTP and HTML headers before any real data is
211
225
        written."""