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

« back to all changes in this revision

Viewing changes to ivle/conf/conf.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:
32
32
import ivle.config
33
33
 
34
34
try:
35
 
    conf = ivle.config.Config(plugins=False)
 
35
    conf = ivle.config.Config()
36
36
except ivle.config.ConfigError, e:
37
37
    raise ImportError(str(e))
38
38
 
43
43
    'prefix': 'paths/prefix',
44
44
    'data_path': 'paths/data',
45
45
    'log_path': 'paths/logs',
 
46
    'python_site_packages_override': 'paths/site_packages',
46
47
    'public_host': 'urls/public_host',
 
48
    'allowed_uids': 'os/allowed_uids',
47
49
    'db_host': 'database/host',
48
50
    'db_port': 'database/port',
49
51
    'db_dbname': 'database/name',
 
52
    'db_forumdbname': 'plugins/forum/dbname',
50
53
    'db_user': 'database/username',
51
54
    'db_password': 'database/password',
52
55
    'auth_modules': 'auth/modules',
57
60
    'usrmgt_host': 'usrmgt/host',
58
61
    'usrmgt_port': 'usrmgt/port',
59
62
    'usrmgt_magic': 'usrmgt/magic',
60
 
 
61
 
    # These two are only relevant inside the jail.
62
 
    'login': 'user_info/login',
63
 
    'svn_pass': 'user_info/svn_pass',
 
63
    'forum_secret': 'plugins/forum/secret',
64
64
}
65
65
 
66
66
for legacyopt, newopt_path in CONFIG_OPTIONS.iteritems():
79
79
subject_pulldown_modules = ','.join(subject_pulldown_modules)
80
80
auth_modules = ','.join(auth_modules)
81
81
 
 
82
# XXX Convert db_port and usrmgt_port to int.
 
83
# Because.
 
84
db_port = int(db_port)
 
85
usrmgt_port = int(usrmgt_port)
 
86
 
82
87
# Additional auto-generated config options
83
88
 
84
89
# Path where architecture-dependent data (including non-user-executable
91
96
# Path where user-executable binaries are installed.
92
97
bin_path = os.path.join(prefix, 'bin')
93
98
 
 
99
# 'site-packages' directory in Python, where Python libraries are to be
 
100
# installed.
 
101
if python_site_packages_override is None:
 
102
    PYTHON_VERSION = sys.version[0:3]   # eg. "2.5"
 
103
    python_site_packages = os.path.join(prefix,
 
104
                               'lib/python%s/site-packages' % PYTHON_VERSION)
 
105
else:
 
106
    python_site_packages = python_site_packages_override
 
107
 
94
108
# In the local file system, where the student/user jails will be mounted.
95
109
# Only a single copy of the jail's system components will be stored here -
96
110
# all user jails will be virtually mounted here.
97
 
# XXX: Some jail code calls ivle.studpath.url_to_{local,jailpaths}, both
98
 
#      of which use jail_base. Note that they don't use the bits of the
99
 
#      return value that depend on jail_base, so it can be any string inside
100
 
#      the jail. The value computed here may be meaningless inside the jail,
101
 
#      but that's OK for now.
102
111
jail_base = os.path.join(data_path, 'jailmounts')
103
112
 
104
113
# In the local file system, where are the student/user file spaces located.
117
126
# (The 'subjects' and 'exercises' directories).
118
127
content_path = os.path.join(data_path, 'content')
119
128
 
 
129
# In the local file system, where are the per-subject file spaces located.
 
130
# The individual subject directories are expected to be located immediately
 
131
# in subdirectories of this location.
 
132
subjects_base = os.path.join(content_path, 'subjects')
 
133
 
 
134
# In the local file system, where are the subject-independent exercise sheet
 
135
# file spaces located.
 
136
exercises_base = os.path.join(content_path, 'exercises')
 
137
 
120
138
# In the local file system, where the system notices are stored (such as terms
121
139
# of service and MOTD).
122
140
notices_path = os.path.join(data_path, 'notices')