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

« back to all changes in this revision

Viewing changes to ivle/cgirequest.py

  • Committer: William Grant
  • Date: 2009-02-23 23:47:02 UTC
  • mfrom: (1099.1.211 new-dispatch)
  • Revision ID: grantw@unimelb.edu.au-20090223234702-db4b1llly46ignwo
Merge from lp:~ivle-dev/ivle/new-dispatch.

Pretty much everything changes. Reread the setup docs. Backup your databases.
Every file is now in a different installed location, the configuration system
is rewritten, the dispatch system is rewritten, URLs are different, the
database is different, worksheets and exercises are no longer on the
filesystem, we use a templating engine, jail service protocols are rewritten,
we don't repeat ourselves, we have authorization rewritten, phpBB is gone,
and probably lots of other things that I cannot remember.

This is certainly the biggest commit I have ever made, and hopefully
the largest I ever will.

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
# This allows CGI scripts to create request objects and then pass them to
26
26
# normal IVLE handlers.
27
27
 
28
 
# NOTE: This object does not support write_html_head_foot (simply because we
29
 
# do not need it in its intended application: fileservice).
30
 
 
31
28
import sys
32
29
import os
33
30
import cgi
155
152
        self.status = CGIRequest.HTTP_OK
156
153
        self.content_type = None        # Use Apache's default
157
154
        self.location = None
158
 
        self.title = None     # Will be set by dispatch before passing to app
159
155
        self.styles = []
160
156
        self.scripts = []
161
 
        self.write_html_head_foot = False
162
157
        self.got_common_vars = False
163
158
 
164
159
 
197
192
            if k != 'Content-Type' and k != 'Location':
198
193
                print "%s: %s" % (k, v)
199
194
 
200
 
        # XXX write_html_head_foot not supported
201
 
        #if self.write_html_head_foot:
202
 
        #    # Write the HTML header, pass "self" (request object)
203
 
        #    self.func_write_html_head(self)
204
195
        # Print a blank line to signal the start of output
205
196
        print
206
197
 
249
240
        else:
250
241
            return sys.stdin.read(len)
251
242
 
252
 
    def throw_error(self, httpcode, message):
253
 
        """Writes out an HTTP error of the specified code. Exits the process,
254
 
        so any code following this call will not be executed.
255
 
 
256
 
        (This is justified because of the nature of CGI, it is a single-script
257
 
        environment, there is no containing process which needs to catch an
258
 
        exception).
259
 
 
260
 
        httpcode: An HTTP response status code. Pass a constant from the
261
 
        Request class.
262
 
        """
263
 
        raise ivle.util.IVLEError(httpcode, message)
264
 
 
265
243
    def handle_unknown_exception(self, exc_type, exc_value, exc_tb):
266
244
        if exc_type is ivle.util.IVLEError:
267
245
            self.headers_out['X-IVLE-Error-Code'] = exc_value.httpcode