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

« back to all changes in this revision

Viewing changes to ivle/webapp/admin/subject.py

Provide a Subversion command to grab each submission.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
# A sample / testing application for IVLE.
24
24
 
25
25
import os
 
26
import os.path
26
27
import urllib
 
28
import urlparse
27
29
import cgi
28
30
 
29
31
from storm.locals import Desc
218
220
        if self.context is None:
219
221
            raise NotFound()
220
222
 
 
223
    def build_subversion_url(self, svnroot, submission):
 
224
        princ = submission.assessed.principal
 
225
 
 
226
        if isinstance(princ, User):
 
227
            path = 'users/%s' % princ.login
 
228
        else:
 
229
            path = 'groups/%s_%s_%s_%s' % (
 
230
                    princ.project_set.offering.subject.short_name,
 
231
                    princ.project_set.offering.semester.year,
 
232
                    princ.project_set.offering.semester.semester,
 
233
                    princ.name
 
234
                    )
 
235
        return urlparse.urljoin(
 
236
                    svnroot,
 
237
                    os.path.join(path, submission.path[1:] if
 
238
                                       submission.path.startswith(os.sep) else
 
239
                                       submission.path))
 
240
 
221
241
    def populate(self, req, ctx):
222
242
        ctx['format_datetime_short'] = ivle.date.format_datetime_for_paragraph
 
243
        ctx['build_subversion_url'] = self.build_subversion_url
 
244
        ctx['svn_addr'] = req.config['urls']['svn_addr']
223
245
        ctx['project'] = self.context
 
246
        ctx['user'] = req.user
224
247
 
225
248
class Plugin(ViewPlugin, MediaPlugin):
226
249
    urls = [