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

« back to all changes in this revision

Viewing changes to services/serveservice

  • 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:
29
29
 
30
30
from ivle import zip as zipmod
31
31
import ivle.conf.app.server
32
 
import ivle.mimetypes
33
32
 
34
33
def determine_file_type(filename):
35
34
    filetype = mimetypes.guess_type(filename)[0]
36
35
    if filetype is None:
37
 
         filetype = ivle.mimetypes.DEFAULT_MIMETYPE
 
36
         filetype = ivle.conf.mimetypes.default_mimetype
38
37
    return filetype
39
38
 
40
39
def throw_error(message, extra={}):
114
113
           determine_file_type(filename) in ivle.conf.app.server.interpreters:
115
114
            throw_error('is-executable', {'path': filename})
116
115
 
117
 
        if not download and (
118
 
            (ivle.conf.app.server.blacklist_served_filetypes and \
 
116
        if (ivle.conf.app.server.blacklist_served_filetypes and \
119
117
                determine_file_type(filename) in \
120
118
                ivle.conf.app.server.served_filetypes_blacklist) or \
121
119
            (ivle.conf.app.server.served_filetypes_whitelist and \
122
120
                determine_file_type(filename) not in \
123
 
                ivle.conf.app.server.served_filetypes_whitelist)):
 
121
                ivle.conf.app.server.served_filetypes_whitelist):
124
122
            throw_error('forbidden')
125
123
 
126
124
if zipmode:
140
138
 
141
139
    print cjson.encode({'type': zip_mimetype,
142
140
                        'name': zipfilename})
143
 
 
144
 
    stream = zipfile
145
 
    stream.seek(0)
 
141
    print zipfile.getvalue()
146
142
else:
147
 
 
148
143
    print cjson.encode({'type': determine_file_type(filename),
149
144
                        'name': os.path.basename(filename)})
150
 
    stream = open(filename)
151
 
    
152
 
next = stream.read(1024)
153
 
while next:
154
 
    sys.stdout.write(next)
155
 
    next = stream.read(1024)
 
145
    print open(filename).read()