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

« back to all changes in this revision

Viewing changes to lib/conf/apps.py

Added module ivle.config, which takes care of some work interfacing with
    configobj, including searching for the file and opening the object.
ivle.conf.conf now uses this instead of having its own search.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# IVLE Configuration File
2
 
# conf/apps.py
3
 
# Configuration of plugin applications for IVLE
4
 
# These should not need to be modified by admins unless new applications are
5
 
# plugged in.
6
 
 
7
 
enable_debuginfo = False
8
 
 
9
 
# Allow App objects
10
 
# Notes:
11
 
# desc is a full description for the front page. It isn't required
12
 
# unless this app is in apps_on_home_page.
13
 
# icon is a string of a file basename. The icon files are found in
14
 
# app_icon_dir, defined below.
15
 
class App:
16
 
    def __init__(self, dir, name, desc=None, icon = None,
17
 
        useconsole = False, requireauth = True, hashelp = False):
18
 
        self.dir = dir
19
 
        self.name = name
20
 
        self.desc = desc
21
 
        self.icon = icon
22
 
        self.useconsole = useconsole
23
 
        self.requireauth = requireauth
24
 
        self.hashelp = hashelp
25
 
    def __repr__(self):
26
 
        return ("App(dir=%s, name=%s, desc=%s, icon=%s, requireauth=%s, "
27
 
                "hashelp=%s)" % (repr(self.dir), repr(self.name),
28
 
                repr(self.desc), repr(self.icon), repr(self.requireauth),
29
 
                repr(self.hashelp)))
30
 
 
31
 
# Directory where app icons are stored, relative to the IVLE root.
32
 
app_icon_dir = "media/images/apps"
33
 
# Small version of icons (16x16, for favicon)
34
 
app_icon_dir_small = "media/images/apps/small"
35
 
 
36
 
# Which application to load by default (if the user navigates to the top level
37
 
# of the site). This is the app's URL name.
38
 
# Note that if this app requires authentication, the user will first be
39
 
# presented with the login screen.
40
 
default_app = "home"
41
 
# Which application to use for "public host" URLs.
42
 
# (See conf.py)
43
 
public_app = "serve"
44
 
 
45
 
# Application definitions
46
 
 
47
 
app_browser =   App(dir = "browser",
48
 
                    name = "Files",
49
 
                    desc = "Gives you access to all of your files and lets "
50
 
                           "you download, upload, edit and run them.",
51
 
                    icon = "browser.png",
52
 
                    useconsole = True,
53
 
                    requireauth = True,
54
 
                    hashelp = True)
55
 
 
56
 
app_fileservice = App(dir = "fileservice",
57
 
                    name = "File Service (AJAX server)",
58
 
                    requireauth = True,
59
 
                    hashelp = False)
60
 
 
61
 
app_console =     App(dir = "console",
62
 
                    name = "Console",
63
 
                    desc = "A Python console where you can try out code "
64
 
                           "without having to save and run it.",
65
 
                    icon = "console.png",
66
 
                    useconsole = False, # We use a full console in this app
67
 
                    requireauth = True,
68
 
                    hashelp = True)
69
 
 
70
 
app_consoleservice = App(dir = "consoleservice",
71
 
                    name = "Console Service",
72
 
                    requireauth = True,
73
 
                    hashelp = False)
74
 
 
75
 
app_tutorial =     App(dir = "tutorial",
76
 
                    name = "Worksheets",
77
 
                    desc = "Online tutorials and exercises for lab work.",
78
 
                    icon = "tutorial.png",
79
 
                    useconsole = True,
80
 
                    requireauth = True,
81
 
                    hashelp = True)
82
 
 
83
 
app_tutorialservice = App(dir = "tutorialservice",
84
 
                    name = "Tutorial Service",
85
 
                    requireauth = True,
86
 
                    hashelp = False)
87
 
 
88
 
app_server =    App(dir = "server",
89
 
                    name = "Server",
90
 
                    requireauth = True,
91
 
                    hashelp = False)
92
 
 
93
 
app_download =  App(dir = "download",
94
 
                    name = "Download",
95
 
                    requireauth = True,
96
 
                    hashelp = False)
97
 
 
98
 
app_help =      App(dir = "help",
99
 
                    name = "Help",
100
 
                    desc = "IVLE help pages",
101
 
                    icon = "help.png",
102
 
                    requireauth = True,
103
 
                    hashelp = False)
104
 
 
105
 
app_debuginfo = App(dir = "debuginfo",
106
 
                    name = "Debug Information",
107
 
                    requireauth = False,
108
 
                    hashelp = False)
109
 
 
110
 
app_forum = App(dir = "forum",
111
 
                    name = "Forum",
112
 
                    desc = "Discussion boards for material relating to "
113
 
                           "Informatics, IVLE and Python.",
114
 
                    icon = "forum.png",
115
 
                    requireauth = True,
116
 
                    hashelp = False)
117
 
 
118
 
app_tos = App(dir = "tos",
119
 
                    name = "Terms of Service",
120
 
                    requireauth = False,
121
 
                    hashelp = False)
122
 
 
123
 
app_settings = App(dir = "settings",
124
 
                    name = "Account Settings",
125
 
                    icon = "settings.png",
126
 
                    requireauth = True,
127
 
                    hashelp = True)
128
 
 
129
 
app_userservice = App(dir = "userservice",
130
 
                    name = "User Management Service",
131
 
                    requireauth = False,
132
 
                    hashelp = False)
133
 
 
134
 
app_diff = App(dir = "diff",
135
 
                    name = "Diff",
136
 
                    #icon = "forum.png",
137
 
                    requireauth = True,
138
 
                    hashelp = False)
139
 
 
140
 
app_svnlog = App(dir = "svnlog",
141
 
                    name = "Subversion Log",
142
 
                    requireauth = True,
143
 
                    hashelp = False)
144
 
 
145
 
app_subjects = App(dir = "subjects",
146
 
                    name = "Subjects",
147
 
                    desc = "Announcements and information about the subjects "
148
 
                           "you are enrolled in.",
149
 
                    icon = "subjects.png",
150
 
                    requireauth = False,
151
 
                    hashelp = False)
152
 
 
153
 
app_home = App(dir = "home",
154
 
                    name = "Home",
155
 
                    desc = "IVLE home page",
156
 
                    icon = "home.png",
157
 
                    requireauth = True,
158
 
                    hashelp = False)
159
 
 
160
 
# Mapping URL names to apps
161
 
 
162
 
app_url = {
163
 
    "files" : app_browser,
164
 
    "fileservice" : app_fileservice,
165
 
    "console" : app_console,
166
 
    "consoleservice" : app_consoleservice,
167
 
    "tutorial" : app_tutorial,
168
 
    "tutorialservice" : app_tutorialservice,
169
 
    "serve" : app_server,
170
 
    "download" : app_download,
171
 
    "help" : app_help,
172
 
    "forum" : app_forum,
173
 
    "tos" : app_tos,
174
 
    "settings" : app_settings,
175
 
    "userservice" : app_userservice,
176
 
    "diff" : app_diff,
177
 
    "svnlog" : app_svnlog,
178
 
    "subjects" : app_subjects,
179
 
    "home" : app_home,
180
 
}
181
 
if enable_debuginfo:
182
 
    app_url["debuginfo"] = app_debuginfo
183
 
 
184
 
# List of apps that go in the tabs at the top
185
 
# (The others are hidden unless they are linked to)
186
 
# Note: The values in this list are the URL names as seen in app_url.
187
 
 
188
 
apps_in_tabs = ["home", "subjects", "files", "tutorial", "console",
189
 
                "forum", "help"]
190
 
 
191
 
# List of apps that go in the list on the home page
192
 
apps_on_home_page = ["subjects", "files", "tutorial", "console", "forum"]