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

« back to all changes in this revision

Viewing changes to ivle/dispatch/request.py

  • Committer: William Grant
  • Date: 2009-04-28 06:18:14 UTC
  • Revision ID: grantw@unimelb.edu.au-20090428061814-fiqynzwcmtk3dokn
Replace ivle.util.unmake_path with specialisations in Request and CGIRequest.

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
    # This needs to be importable from outside Apache.
34
34
    pass
35
35
 
 
36
import os.path
 
37
 
36
38
import ivle.util
37
39
import ivle.database
38
40
from ivle.webapp.base.plugins import CookiePlugin
177
179
        self.uri = req.uri
178
180
        # Split the given path into the app (top-level dir) and sub-path
179
181
        # (after first stripping away the root directory)
180
 
        path = ivle.util.unmake_path(req.uri)
 
182
        path = self.unmake_path(req.uri)
181
183
        (self.app, self.path) = (ivle.util.split_path(path))
182
184
        self.user = None
183
185
        self.hostname = req.hostname
291
293
        else:
292
294
            mod_python.Cookie.add_cookie(self.apache_req, cookie, value, **attributes)
293
295
 
 
296
    def unmake_path(self, path):
 
297
        """Strip the IVLE URL prefix from the given path, if present.
 
298
 
 
299
        Also normalises the path.
 
300
        """
 
301
        path = os.path.normpath(path)
 
302
        root = os.path.normpath(self.config['urls']['root'])
 
303
 
 
304
        if path.startswith(root):
 
305
            path = path[len(root):]
 
306
            # Take out the slash as well
 
307
            if len(path) > 0 and path[0] == os.sep:
 
308
                path = path[1:]
 
309
 
 
310
        return path
 
311
 
294
312
    def get_session(self):
295
313
        """Returns a mod_python Session object for this request.
296
314
        Note that this is dependent on mod_python and may need to change