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

« back to all changes in this revision

Viewing changes to ivle/studpath.py

Merge my migration of serve and download to the new framework.

Poor fileservice is all alone.

Show diffs side-by-side

added added

removed removed

Lines of Context:
132
132
        return False
133
133
 
134
134
 
135
 
def authorize(req):
 
135
def authorize(req, user):
136
136
    """Given a request, checks whether req.user is allowed to
137
137
    access req.path. Returns None on authorization success. Raises
138
138
    HTTP_FORBIDDEN on failure.
145
145
    urlpath = os.path.normpath(req.path)
146
146
    # Now if it begins with ".." or separator, then it's illegal
147
147
    if urlpath.startswith("..") or urlpath.startswith(os.sep):
148
 
        req.throw_error(req.HTTP_FORBIDDEN)
 
148
        return False
149
149
 
150
150
    (owner, _) = util.split_path(urlpath)
151
 
    if req.user.login != owner:
152
 
        req.throw_error(req.HTTP_FORBIDDEN)
 
151
    if user.login != owner:
 
152
        return False
 
153
    return True
153
154
 
154
155
def authorize_public(req):
155
156
    """A different kind of authorization. Rather than making sure the
164
165
    _, path = url_to_local(req.path)
165
166
    dirpath, _ = os.path.split(path)
166
167
    if not (worldreadable(dirpath) and published(dirpath)):
167
 
        req.throw_error(req.HTTP_FORBIDDEN)
 
168
        return False
 
169
    return True