1 # -*- coding: iso-8859-1 mode:python -*-
3 from MoinMoin.config import multiconfig
9 class FarmConfig(multiconfig.DefaultConfig):
13 page_front_page = u"FrontPage"
14 theme_default = 'mentalwealth'
16 session_cookies = ['forge_session_authbuiltin', 'forge_session_authcas', 'forge_session_authhttpd', 'forge_session_authldap', 'forge_session_authopenid', 'forge_session_authwebid']
18 ffsa = fusionforge.FusionForgeSessionAuth(session_cookies)
19 forge_get_config = fusionforge.FusionForgeLink(session_cookies).get_config
20 ff_host = fusionforge.FusionForgeLink(session_cookies).get_config('web_host')
24 # Defaults (overridden per project)
26 sitename = u'ForgeWiki' # [Unicode]
27 interwikiname = u'ForgeWiki' # [Unicode]
28 acl_rights_default = \
29 string.join (map (lambda u: u+":read,write,delete,revert,admin",
33 def __init__(self, project_name):
34 self.project_name = project_name
35 self.sitename = u'%s' % project_name
36 self.interwikiname = u'%s' % project_name
37 self.data_dir = (self.__class__.forge_get_config('data_path') + '/plugins/moinmoin/wikidata/%s/data') % project_name
38 self.data_underlay_dir = (self.__class__.forge_get_config('data_path') + '/plugins/moinmoin/wikidata/%s/underlay') % project_name
40 page_header1_file = (self.__class__.forge_get_config('chroot') + '/home/groups/%s/plugins/moinmoin/page_header1.html') % project_name
41 if os.path.exists(page_header1_file):
42 with open(page_header1_file) as f:
43 self.page_header1 = f.read()
45 self.acl_rights_default = self.ffsa.get_moinmoin_acl_string(project_name)
47 # Call inherited constructor once instance specific variables
50 multiconfig.DefaultConfig.__init__(self, project_name)
52 def groups (self, request):
53 from MoinMoin.datastruct import WikiGroups, CompositeGroups
54 from ff_groups import FFLazyGroups
55 return CompositeGroups (request,
56 FFLazyGroups (request, self.__class__.ffsa),
59 wikis = map (lambda p: \
60 (p, "^https?://%s/plugins/moinmoin/%s/.*$"
61 % (FarmConfig.ff_host, p)),
62 FarmConfig.ffsa.projects)