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

« back to all changes in this revision

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

Replaced Python config files (conf.py) with new config files system, using
    configobj (INI-file style config files).

setup.py config now produces ./etc/ivle.conf, a new-style config file.
ivle/conf/conf.py is now part of the IVLE source code. It reads the new config
file and provides the same legacy interface, so all of IVLE still functions,
including setup.py config.

Added /etc to the source tree (config files will be stored here).
Added configobj as a dependency in doc/setup/install_proc.txt.

setup.py install copies ./etc/ivle.conf into /etc/ivle/ivle.conf.

Removed boilerplate code generation from setup/configure.py (that code is now
part of ivle/conf/conf.py which is now in the source tree).

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
import cgi
28
28
 
29
29
from ivle.webapp.base.xhtml import XHTMLView
30
 
from ivle.webapp.base.plugins import BasePlugin
 
30
from ivle.webapp.base.plugins import ViewPlugin
31
31
from ivle.webapp.errors import NotFound
32
32
from ivle.database import Subject
33
33
from ivle import util
39
39
    appname = 'subjects' # XXX
40
40
 
41
41
    def populate(self, req, ctx):
42
 
        req.styles = ["media/subjects/subjects.css"]
43
 
 
44
42
        enrolled_subjects = req.user.subjects
45
43
        unenrolled_subjects = [subject for subject in
46
44
                               req.store.find(Subject)
66
64
                ctx['other_subjects'].append(new_subj)
67
65
 
68
66
 
69
 
class SubjectView(XHTMLView):
70
 
    '''The view of a subject.'''
71
 
    template = 'subject.html'
72
 
    appname = 'subjects' # XXX
73
 
 
74
 
    def __init__(self, req, subject, path):
75
 
        self.subject = req.store.find(Subject, code=subject).one()
76
 
        self.path = path
77
 
 
78
 
    def populate(self, req, ctx):
79
 
        if self.subject is None:
80
 
            raise NotFound()
81
 
 
82
 
        ctx['serve_loc'] = urllib.quote(util.make_path(os.path.join('media',
83
 
                                    'subjects', self.subject.code, self.path)))
84
 
 
85
 
class Plugin(BasePlugin):
 
67
class Plugin(ViewPlugin):
86
68
    urls = [
87
69
        ('subjects/', SubjectsView),
88
 
        ('subjects/:subject', SubjectView, {'path': ''}),
89
 
        ('subjects/:subject/*(path)', SubjectView),
90
70
    ]