Config objects are created now once, then shared between requests and threads. This can lead to two problems:

Tests

Change the current config to test various settings, this might break the config for other threads. Currently the test are disabled when using threads.

Code that needs review

Alexander said he reviewed this list, and found only 3 problems, listed on the parent page.

Here is a list of all code that need review:

$ egrep -rn \.cfg\. MoinMoin
MoinMoin/action/AttachFile.py:34:    return isinstance(request.cfg.attachments, type({}))
MoinMoin/action/AttachFile.py:45:        return request.cfg.attachments['dir']
MoinMoin/action/AttachFile.py:56:        attach_dir = os.path.join(request.cfg.attachments['dir'], pagename, "attachments")
MoinMoin/action/AttachFile.py:83:            request.cfg.attachments['url'], wikiutil.quoteWikinameFS(pagename),
MoinMoin/action/AttachFile.py:288:    pubpath = request.cfg.url_prefix + "/applets/TWikiDrawPlugin"
MoinMoin/action/AttachFile.py:391:    if action_name in request.cfg.excluded_actions:
MoinMoin/action/DeletePage.py:24:    if actname in request.cfg.excluded_actions \
MoinMoin/action/links.py:29:                            _('Full Link List for "%s"') % request.cfg.sitename)
MoinMoin/action/RenamePage.py:33:        the filtering by action class name and cfg.allowed_actions.
MoinMoin/action/RenamePage.py:36:        return (self.__class__.__name__ in self.request.cfg.allowed_actions and
MoinMoin/action/rss_rc.py:23:    cfg = request.cfg
MoinMoin/action/rss_rc.py:55:    logo = re.search(r'src="([^"]*)"', cfg.logo_string)
MoinMoin/action/rss_rc.py:98:    handler.simpleNode('title', cfg.sitename)
MoinMoin/action/rss_rc.py:100:    handler.simpleNode('description', 'RecentChanges at %s' % cfg.sitename)
MoinMoin/action/rss_rc.py:105:    if cfg.interwikiname:
MoinMoin/action/rss_rc.py:106:        handler.simpleNode(('wiki', 'interwiki'), cfg.interwikiname)
MoinMoin/action/rss_rc.py:125:        handler.simpleNode('title', cfg.sitename)
MoinMoin/action/rss_rc.py:169:        if cfg.show_hosts:
MoinMoin/action/SpellCheck.py:33:    localdict = os.path.join(request.cfg.moinmoin_dir, 'dict')
MoinMoin/action/SpellCheck.py:81:    cachename = os.path.join(request.cfg.data_dir, 'cache', 'spellchecker.dict')
MoinMoin/action/SpellCheck.py:113:    lsw_page = PageEditor(request, request.cfg.page_local_spelling_words)
MoinMoin/action/SpellCheck.py:135:    lsw_page = Page(request, request.cfg.page_local_spelling_words)
MoinMoin/caching.py:22:            self.arena_dir = os.path.join(request.cfg.cache_dir, arena)
MoinMoin/formatter/base.py:248:            processor = wikiutil.importPlugin(self.request.cfg, "processor",
MoinMoin/formatter/base.py:252:            parser = wikiutil.importPlugin(self.request.cfg, "parser",
MoinMoin/formatter/text_html.py:40:        self.cfg = request.cfg
MoinMoin/formatter/text_html.py:64:            # the content lang from the default defined in cfg.
MoinMoin/formatter/text_html.py:592:            self._show_section_numbers = self.cfg.show_section_numbers
MoinMoin/formatter/text_python.py:181:            Dependencies = wikiutil.importPlugin(self.request.cfg, "processor",
MoinMoin/formatter/text_python.py:184:            Dependencies = wikiutil.importPlugin(self.request.cfg, "parser",
MoinMoin/i18n/__init__.py:210:    if available.has_key(request.cfg.default_lang):
MoinMoin/i18n/__init__.py:211:        lang = request.cfg.default_lang
MoinMoin/logfile/editlog.py:42:        result = ('ip', (request.cfg.show_hosts and self.hostname) or '')
MoinMoin/logfile/editlog.py:69:                (request.cfg.show_hosts and ("%s=%s" % (self.addr,editor))) or ''), wikiutil.escape(editor[:idx]))
MoinMoin/logfile/editlog.py:72:                (request.cfg.show_hosts and self.hostname) or ''), wikiutil.escape(editor))
MoinMoin/lupy.py:204:        cache_dir = request.cfg.cache_dir
MoinMoin/lupy.py:234:                    searcher, timestamp = self.request.cfg.lupy_searchers.pop()
MoinMoin/lupy.py:245:            self.request.cfg.lupy_searchers.append((searcher, timestamp))
MoinMoin/macro/EditTemplates.py:16:    filter = re.compile(self.request.cfg.page_template_regex, re.UNICODE).search
MoinMoin/macro/RecentChanges.py:84:    if request.cfg.changed_time_fmt:
MoinMoin/macro/RecentChanges.py:90:            d['time_html'] = time.strftime(request.cfg.changed_time_fmt, line.time_tuple)
MoinMoin/macro/RecentChanges.py:94:    if request.cfg.show_hosts:
MoinMoin/macro/TableOfContents.py:67:            self.include_macro = wikiutil.importPlugin(self.macro.request.cfg,
MoinMoin/Page.py:40:        self.cfg = request.cfg
MoinMoin/Page.py:72:        if not self.cfg.data_underlay_dir is None:
MoinMoin/Page.py:73:            underlaypath = os.path.join(self.cfg.data_underlay_dir, "pages", qpagename)
MoinMoin/Page.py:78:                normalpath = self.cfg.data_dir
MoinMoin/Page.py:252:                    underlay, path = 1, self.cfg.data_underlay_dir
MoinMoin/Page.py:256:                    underlay, path = 0, self.cfg.data_dir
MoinMoin/Page.py:337:        tmpname = os.path.join(self.cfg.data_dir, '#%s.%d#' % (self.page_name_fs, rnd))
MoinMoin/Page.py:461:        if domain == 'underlay' and not self.request.cfg.data_underlay_dir:
MoinMoin/Page.py:675:        if self.cfg.data_underlay_dir is not None:
MoinMoin/Page.py:852:        if self.cfg.SecurityPolicy:
MoinMoin/Page.py:853:            UserPerms = self.cfg.SecurityPolicy
MoinMoin/Page.py:934:        pi_format = self.cfg.default_markup or "wiki"
MoinMoin/Page.py:975:                if self.cfg.refresh:
MoinMoin/Page.py:977:                        mindelay, targetallowed = self.cfg.refresh
MoinMoin/Page.py:1127:        Parser = wikiutil.importPlugin(self.request.cfg, "parser",
MoinMoin/Page.py:1210:            self.getFormatterName() in self.cfg.caching_formats):
MoinMoin/Page.py:1213:                parser = wikiutil.importPlugin(self.request.cfg, "parser",
MoinMoin/Page.py:1515:        if not self.cfg.acl_enabled:
MoinMoin/Page.py:1522:            aclRevision, acl = request.cfg._acl_cache.get(key, (None, None))
MoinMoin/Page.py:1524:            request.cfg._acl_cache = {}
MoinMoin/Page.py:1528:            request.cfg._acl_cache[key] = (currentRevision, acl)
MoinMoin/Page.py:1556:            del request.cfg._acl_cache[key]
MoinMoin/Page.py:1560:            request.cfg._acl_cache = {}
MoinMoin/PageEditor.py:230:            text_rows = self.cfg.edit_rows
MoinMoin/PageEditor.py:353:        lang = self.language or self.request.cfg.default_lang
MoinMoin/PageEditor.py:373:        filter = re.compile(self.cfg.page_category_regex, re.UNICODE).search
MoinMoin/PageEditor.py:392:        if self.cfg.page_license_enabled:
MoinMoin/PageEditor.py:398:                'license_link': wikiutil.getSysPage(self.request, self.cfg.page_license_page).link_to(self.request),
MoinMoin/PageEditor.py:410:        if self.cfg.mail_smarthost:
MoinMoin/PageEditor.py:503:        for formatter_name in self.cfg.caching_formats:
MoinMoin/PageEditor.py:528:                'sitename': self.cfg.sitename or self.request.getBaseURL(),
MoinMoin/PageEditor.py:552:                'sitename': self.cfg.sitename or "Wiki",
MoinMoin/PageEditor.py:556:            mailBody, mail_from=self.cfg.mail_from)
MoinMoin/PageEditor.py:682:        if self.cfg.acl_enabled:
MoinMoin/PageEditor.py:892:        elif self.cfg.acl_enabled:
MoinMoin/PageEditor.py:922:            if self.request.cfg.mail_smarthost:
MoinMoin/PageEditor.py:925:            if self.request.cfg.lupy_search:
MoinMoin/PageEditor.py:954:        self.cfg = self.request.cfg
MoinMoin/PageEditor.py:964:        if self.cfg.edit_locking:
MoinMoin/PageEditor.py:965:            lockinfo = self.cfg.edit_locking.split()
MoinMoin/parser/docbook.py:56:        docbook_html_directory = request.cfg.docbook_html_dir
MoinMoin/parser/wiki.py:103:        self.cfg = request.cfg
MoinMoin/parser/wiki.py:124:        self.formatting_rules = self.formatting_rules % {'macronames': u'|'.join(wikimacro.getNames(self.cfg))}
MoinMoin/parser/wiki.py:279:            Parser = wikiutil.getParserForExtension(self.cfg, ext)
MoinMoin/parser/wiki.py:821:                self.request.cfg, "processor", processor_name, "process")
MoinMoin/parser/wiki.py:825:                    self.request.cfg, "parser", processor_name, "Parser")
MoinMoin/parser/wiki.py:958:        if self.cfg.allow_extended_names:
MoinMoin/parser/wiki.py:960:        if self.cfg.bang_meta:
MoinMoin/parser/wiki.py:965:        if self.cfg.backtick_meta:
MoinMoin/parser/wiki.py:967:        if self.cfg.allow_numeric_entities:
MoinMoin/parser/wiki.py:1006:                            self.request.cfg, "processor", processor_name, "process")
MoinMoin/parser/wiki.py:1011:                                self.request.cfg, "parser", processor_name, "Parser") 
MoinMoin/parser/xslt.py:44:        if not self.request.cfg.allow_xslt:
MoinMoin/request.py:87:            self._load_multi_cfg()
MoinMoin/request.py:117:            if self.cfg.theme_force:
MoinMoin/request.py:118:                theme_name = self.cfg.theme_default
MoinMoin/request.py:137:            self.content_lang = self.cfg.default_lang
MoinMoin/request.py:159:    def _load_multi_cfg(self):
MoinMoin/request.py:161:        if not hasattr(self, 'cfg'):
MoinMoin/request.py:163:            self.cfg = multiconfig.getConfig(self.url)
MoinMoin/request.py:282:        self._load_multi_cfg()
MoinMoin/request.py:284:        if self.cfg.auth_http_enabled:
MoinMoin/request.py:320:        self.current_lang = self.cfg.default_lang
MoinMoin/request.py:346:        Theme = wikiutil.importPlugin(self.cfg, 'theme', theme_name, 'Theme')
MoinMoin/request.py:349:            Theme = wikiutil.importPlugin(self.cfg, 'theme',
MoinMoin/request.py:350:                                          self.cfg.theme_default, 'Theme')
MoinMoin/request.py:406:            self.cfg._known_actions # check
MoinMoin/request.py:423:            self.cfg._known_actions = actions
MoinMoin/request.py:426:        return self.cfg._known_actions.copy()        
MoinMoin/request.py:452:            for key in self.cfg.excluded_actions:
MoinMoin/request.py:632:        if not forbidden and self.cfg.hosts_deny:
MoinMoin/request.py:634:            for host in self.cfg.hosts_deny:
MoinMoin/request.py:854:                if self.cfg.allow_extended_names:
MoinMoin/request.py:882:                if (self.cfg.show_timings and
MoinMoin/request.py:1056:        cfg.cookie_lifetime and the user 'remember_me' setting set the
MoinMoin/request.py:1068:        lifetime = int(self.cfg.cookie_lifetime) * 3600 
MoinMoin/request.py:1167:            sys.stderr = open(os.path.join(self.cfg.data_dir, 'error.log'), 'at')
MoinMoin/request.py:1287:            self._load_multi_cfg()
MoinMoin/request.py:1289:            if self.cfg.auth_http_enabled and self.cfg.auth_http_insecure:
MoinMoin/request.py:1357:            sys.stderr = open(os.path.join(self.cfg.data_dir, 'error.log'), 'at')
MoinMoin/request.py:1437:        self.cfg.caching_formats = [] # don't spoil the cache
MoinMoin/scripts/moin_dump.py:111:        request.cfg.url_prefix = url_prefix
MoinMoin/scripts/moin_dump.py:167:                    'theme': request.cfg.theme_default,
MoinMoin/search.py:1131:        if self.request.cfg.lupy_search:
MoinMoin/security.py:51:        if attr in request.cfg.acl_rights_valid:
MoinMoin/server/standalone.py:301:        TODO: should use request.cfg.url_prefix - and not a constant but
MoinMoin/server/standalone.py~:284:        TODO: should use request.cfg.url_prefix - and not a constant but
MoinMoin/stats/hitcounts.py:28:    if not request.cfg.chart_options:
MoinMoin/stats/hitcounts.py:46:    data.update(request.cfg.chart_options)
MoinMoin/stats/hitcounts.py:226:    if request.cfg.sitename: chart_title = "%s: " % request.cfg.sitename
MoinMoin/stats/hitcounts.py:248:        (request.cfg.chart_options['width'], request.cfg.chart_options['height']),
MoinMoin/stats/pagesize.py:22:    if not request.cfg.chart_options:
MoinMoin/stats/pagesize.py:41:    data.update(request.cfg.chart_options)
MoinMoin/stats/pagesize.py:102:    if request.cfg.sitename: title = "%s: " % request.cfg.sitename
MoinMoin/stats/pagesize.py:115:        (request.cfg.chart_options['width'], request.cfg.chart_options['height']),
MoinMoin/stats/useragents.py:26:    if not request.cfg.chart_options:
MoinMoin/stats/useragents.py:42:    data.update(request.cfg.chart_options)
MoinMoin/stats/useragents.py:166:    if request.cfg.sitename: title = "%s: " % request.cfg.sitename
MoinMoin/stats/useragents.py:180:        (request.cfg.chart_options['width'], request.cfg.chart_options['height']),
MoinMoin/theme/__init__.py:105:        self.cfg = request.cfg
MoinMoin/theme/__init__.py:115:        return "%s/%s/img/%s" % (self.cfg.url_prefix, self.name, img)
MoinMoin/theme/__init__.py:141:        if self.cfg.logo_string:
MoinMoin/theme/__init__.py:144:            logo = wikiutil.link_tag(self.request, pagename, self.cfg.logo_string)
MoinMoin/theme/__init__.py:300:        if request.cfg.navi_bar:
MoinMoin/theme/__init__.py:301:            for text in request.cfg.navi_bar:
MoinMoin/theme/__init__.py:407:        page_params, title, icon = self.cfg.page_icons_table[which]
MoinMoin/theme/__init__.py:486:        prefix = self.cfg.url_prefix
MoinMoin/theme/__init__.py:603:        if self.cfg.show_version and not keywords.get('print_mode', 0):
MoinMoin/theme/__init__.py:735:                u' title="%s Recent Changes"' % self.cfg.sitename,
MoinMoin/theme/__init__.py:759:        if isinstance(self.cfg.page_credits, (list, tuple)):
MoinMoin/theme/__init__.py:760:            items = ['<li>%s</li>' % i for i in self.cfg.page_credits]
MoinMoin/theme/__init__.py:764:            html = self.cfg.page_credits
MoinMoin/theme/__init__.py:798:        if self.cfg.mail_smarthost and user.valid:
MoinMoin/theme/classic.py:39:                 self.emit_custom_html(self.cfg.page_footer1),
MoinMoin/theme/classic.py:47:                 self.emit_custom_html(self.cfg.page_footer2),]
MoinMoin/theme/classic.py:69:        if self.cfg.page_iconbar and self.request.user.show_toolbar and d['page_name']:
MoinMoin/theme/classic.py:71:            icons = self.cfg.page_iconbar[:]
MoinMoin/theme/classic.py:96:            'config_header1_html': self.emit_custom_html(self.cfg.page_header1),
MoinMoin/theme/classic.py:97:            'config_header2_html': self.emit_custom_html(self.cfg.page_header2),
MoinMoin/theme/modern.py:24:            self.emit_custom_html(self.cfg.page_header1),
MoinMoin/theme/modern.py:40:            self.emit_custom_html(self.cfg.page_header2),
MoinMoin/theme/modern.py:63:            self.emit_custom_html(self.cfg.page_footer1),
MoinMoin/theme/modern.py:73:            self.emit_custom_html(self.cfg.page_footer2),
MoinMoin/theme/rightsidebar.py:71:            self.emit_custom_html(self.cfg.page_header1),
MoinMoin/theme/rightsidebar.py:80:            self.emit_custom_html(self.cfg.page_header2),
MoinMoin/theme/rightsidebar.py:112:            self.emit_custom_html(self.cfg.page_footer1),
MoinMoin/theme/rightsidebar.py:121:            self.emit_custom_html(self.cfg.page_footer2),
MoinMoin/user.py:38:    files = dircache.listdir(request.cfg.user_dir)
MoinMoin/user.py:52:    cfg = request.cfg
MoinMoin/user.py:54:        _name2id = cfg._name2id
MoinMoin/user.py:63:        cfg._name2id = _name2id
MoinMoin/user.py:69:        cfg._name2id = _name2id
MoinMoin/user.py:91:    return username or (request.cfg.show_hosts and request.remote_addr) or _("<unknown>")
MoinMoin/user.py:220:        self._cfg = request.cfg
MoinMoin/user.py:243:        self.edit_rows = self._cfg.edit_rows
MoinMoin/user.py:245:        self.tz_offset = int(float(self._cfg.tz_offset) * 3600)
MoinMoin/user.py:253:        self.theme_name = self._cfg.theme_default
MoinMoin/user.py:267:            setattr(self, key, self._cfg.user_checkbox_defaults.get(key, 0))
MoinMoin/user.py:296:        if self._cfg.SecurityPolicy:
MoinMoin/user.py:297:            self.may = self._cfg.SecurityPolicy(self)
MoinMoin/user.py:313:        return os.path.join(self._cfg.user_dir, self.id or "...NONE...")
MoinMoin/user.py:384:            if user_data.has_key(key) and key in self._cfg.user_checkbox_disable:
MoinMoin/user.py:505:        user_dir = self._cfg.user_dir
MoinMoin/user.py:515:            time.strftime(self._cfg.datetime_fmt, time.localtime(time.time())),
MoinMoin/user.py:553:        @return: formatted date, see cfg.date_fmt
MoinMoin/user.py:555:        date_fmt = self.date_fmt or self._cfg.date_fmt
MoinMoin/user.py:565:        @return: formatted date and time, see cfg.datetime_fmt
MoinMoin/user.py:567:        datetime_fmt = self.datetime_fmt or self._cfg.datetime_fmt
MoinMoin/user.py:712:            self._trail = self._trail[-(self._cfg.trail_size-1):]
MoinMoin/user.py:759:                self._trail = self._trail[-self._cfg.trail_size:]
MoinMoin/user.py:769:        host = (self.isCurrentUser and self._cfg.show_hosts and
MoinMoin/user.py:782:        if (self._cfg.allow_extended_names and
MoinMoin/userform.py:35:        self.cfg = request.cfg
MoinMoin/userform.py:75:            if not self.cfg.mail_smarthost:
MoinMoin/userform.py:109:                formatted=False) % {'sitename': self.cfg.sitename or "Wiki"}
MoinMoin/userform.py:111:                text, mail_from=self.cfg.mail_from)
MoinMoin/userform.py:207:            if not theuser.email and self.cfg.acl_enabled:
MoinMoin/userform.py:237:            theme_name = form.get('theme_name', [self.cfg.theme_default])[0]
MoinMoin/userform.py:259:                    if key not in self.cfg.user_checkbox_disable:
MoinMoin/userform.py:304:        self.cfg = request.cfg
MoinMoin/userform.py:321:                    time.strftime(self.cfg.datetime_fmt, util.datetime.tmtuple(t)),
MoinMoin/userform.py:363:        cur_theme = self.request.user.valid and self.request.user.theme_name or self.cfg.theme_default
MoinMoin/userform.py:365:        for theme in wikiutil.getPlugins('theme', self.request.cfg):
MoinMoin/userform.py:416:        if self.cfg.mail_smarthost:
MoinMoin/userform.py:450:            if not self.cfg.theme_force:
MoinMoin/userform.py:470:                time.strftime(self.cfg.datetime_fmt, util.datetime.tmtuple()),
MoinMoin/userform.py:487:                        disabled=key in self.cfg.user_checkbox_disable and True or None),
MoinMoin/userform.py:498:            if self.cfg.mail_smarthost:
MoinMoin/util/antispam.py:165:            invalidate_cache = not getattr(request.cfg, "_mmblcache", None)
MoinMoin/util/antispam.py:181:                    request.cfg._mmblcache = mmblcache
MoinMoin/util/antispam.py:195:                for blacklist_re in request.cfg._mmblcache:
MoinMoin/util/mail.py:34:    cfg = request.cfg    
MoinMoin/util/mail.py:35:    mail_from = kw.get('mail_from', '') or cfg.mail_from
MoinMoin/util/mail.py:64:        server = smtplib.SMTP(cfg.mail_smarthost)
MoinMoin/util/mail.py:67:            if cfg.mail_login:
MoinMoin/util/mail.py:68:                user, pwd = cfg.mail_login.split()
MoinMoin/util/mail.py:88:            'server': cfg.mail_smarthost, 
MoinMoin/util/web.py:15:    if not request.cfg.ua_spiders:
MoinMoin/util/web.py:22:    return re.search(request.cfg.ua_spiders, ua, re.I) is not None
MoinMoin/wikiacl.py:28:        "SomeGroup" is a page name matching cfg.page_group_regex with
MoinMoin/wikiacl.py:36:        Only words in cfg.acl_validrights are accepted, others are
MoinMoin/wikiacl.py:90:       cfg.acl_enabled
MoinMoin/wikiacl.py:94:       cfg.acl_rights_default
MoinMoin/wikiacl.py:98:       cfg.acl_rights_before
MoinMoin/wikiacl.py:103:       cfg.acl_rights_after
MoinMoin/wikiacl.py:108:       cfg.acl_rights_valid
MoinMoin/wikiacl.py:119:        self.setLines(request.cfg, lines)
MoinMoin/wikiacl.py:121:    def setLines(self, cfg, lines=[]):
MoinMoin/wikiacl.py:123:        self.addBefore(cfg)
MoinMoin/wikiacl.py:125:            self.addDefault(cfg)
MoinMoin/wikiacl.py:128:                self.addLine(cfg, line)
MoinMoin/wikiacl.py:129:        self.addAfter(cfg)
MoinMoin/wikiacl.py:136:    def addBefore(self, cfg):
MoinMoin/wikiacl.py:137:        self.addLine(cfg, cfg.acl_rights_before, remember=0)
MoinMoin/wikiacl.py:138:    def addDefault(self, cfg):
MoinMoin/wikiacl.py:139:        self.addLine(cfg, cfg.acl_rights_default, remember=0)
MoinMoin/wikiacl.py:140:    def addAfter(self, cfg):
MoinMoin/wikiacl.py:141:        self.addLine(cfg, cfg.acl_rights_after, remember=0)
MoinMoin/wikiacl.py:143:    def addLine(self, cfg, aclstring, remember=1):
MoinMoin/wikiacl.py:149:        @param cfg: current config
MoinMoin/wikiacl.py:153:        group_re = re.compile(cfg.page_group_regex)
MoinMoin/wikiacl.py:160:        acliter = ACLStringIterator(cfg.acl_rights_valid, aclstring)
MoinMoin/wikiacl.py:163:                self.addDefault(cfg)
MoinMoin/wikiacl.py:180:                    for right in cfg.acl_rights_valid:
MoinMoin/wikiacl.py:188:        if not request.cfg.acl_enabled:
MoinMoin/wikiacl.py:252:        iter = ACLStringIterator(cfg.acl_rights_valid, 'user name:right')
MoinMoin/wikiacl.py:330:    if not request.cfg.acl_enabled:
MoinMoin/wikiaction.py:262:            Column('editor', label=_('Editor'), hidden=not request.cfg.show_hosts),
MoinMoin/wikiaction.py:398:    lang = page.language or request.cfg.default_lang
MoinMoin/wikiaction.py:646:    cfg = request.cfg
MoinMoin/wikiaction.py:652:    elif not cfg.mail_smarthost:
MoinMoin/wikiaction.py:771:    Formatter = wikiutil.importPlugin(request.cfg, "formatter",
MoinMoin/wikiaction.py:788:    if request.user.may.read(pagename) and request.cfg.chart_options:
MoinMoin/wikiaction.py:855:    dir = os.path.join(request.cfg.plugin_dir, 'action')
MoinMoin/wikiaction.py:864:    if action in request.cfg.excluded_actions:
MoinMoin/wikiaction.py:867:    handler = wikiutil.importPlugin(request.cfg, "action", action, identifier)
MoinMoin/wikidicts.py:194:           cfg.page_dict_regex
MoinMoin/wikidicts.py:256:           cfg.page_group_regex
MoinMoin/wikidicts.py:261:        self.cfg = request.cfg
MoinMoin/wikidicts.py:316:            self.__dict__.update(self.cfg.DICTS_DATA)
MoinMoin/wikidicts.py:335:        isdict = re.compile(self.cfg.page_dict_regex, re.UNICODE).search
MoinMoin/wikidicts.py:336:        isgroup = re.compile(self.cfg.page_group_regex, re.UNICODE).search
MoinMoin/wikidicts.py:411:        self.cfg.DICTS_DATA = data
MoinMoin/wikimacro.py:33:def getNames(cfg):
MoinMoin/wikimacro.py:34:    if hasattr(cfg, 'macro_names'):
MoinMoin/wikimacro.py:35:        return cfg.macro_names
MoinMoin/wikimacro.py:38:        lnames.extend(wikiutil.getPlugins('macro', cfg))
MoinMoin/wikimacro.py:96:        self.cfg = self.request.cfg
MoinMoin/wikimacro.py:99:        macro = wikiutil.importPlugin(self.request.cfg, 'macro', macro_name)
MoinMoin/wikimacro.py:132:        result = wikiutil.importPlugin(self.request.cfg, 'macro', macro_name,
MoinMoin/wikimacro.py:316:        list = self.cfg._interwiki_list.items() # this is where we cached it
MoinMoin/wikimacro.py:380:            ', '.join(wikiutil.wikiPlugins('macro', self.cfg)) or nonestr)
MoinMoin/wikimacro.py:383:            if not a in self.request.cfg.excluded_actions:
MoinMoin/wikimacro.py:394:        row(_('Lupy search'), state[self.request.cfg.lupy_search])
MoinMoin/wikirpc.py:45:        self.cfg = request.cfg
MoinMoin/wikirpc.py:229:        if self.request.cfg.sitename == 'MoinMaster' and pagename == 'BadContent':
MoinMoin/wikirpc.py:355:        if self.request.cfg.xmlrpc_putpage_enabled:
MoinMoin/wikirpc.py:367:        if self.request.cfg.xmlrpc_putpage_trusted_only and not self.request.user.trusted:
MoinMoin/wikirpc.py:427:                fn = wikiutil.importPlugin(self.request.cfg, 'xmlrpc', method,
MoinMoin/wikitest.py:46:    dirs = [('data', request.cfg.data_dir),
MoinMoin/wikitest.py:47:            ('user', request.cfg.user_dir),
MoinMoin/wikitest.py:84:    # change request.cfg, which is now shared between threads.
MoinMoin/wikitest.py~:46:    dirs = [('data', request.cfg.data_dir),
MoinMoin/wikitest.py~:47:            ('user', request.cfg.user_dir),
MoinMoin/wikiutil.py:320:        _interwiki_list = request.cfg._interwiki_list
MoinMoin/wikiutil.py:328:        intermap_files = request.cfg.shared_intermap
MoinMoin/wikiutil.py:331:        intermap_files.append(os.path.join(request.cfg.data_dir, "intermap.txt"))
MoinMoin/wikiutil.py:353:        if request.cfg.interwikiname:
MoinMoin/wikiutil.py:354:            _interwiki_list[request.cfg.interwikiname] = request.getScriptname() + '/'
MoinMoin/wikiutil.py:357:        request.cfg._interwiki_list = _interwiki_list
MoinMoin/wikiutil.py:393:    filter = re.compile(request.cfg.page_template_regex, re.UNICODE)
MoinMoin/wikiutil.py:404:    filter = re.compile(request.cfg.page_form_regex, re.UNICODE)
MoinMoin/wikiutil.py:414:    filter = re.compile(request.cfg.page_group_regex, re.UNICODE)
MoinMoin/wikiutil.py:432:    func = re.compile(request.cfg.page_category_regex, re.UNICODE).search
MoinMoin/wikiutil.py:484:    return getSysPage(request, request.cfg.page_front_page)
MoinMoin/wikiutil.py:541:def importPlugin(cfg, kind, name, function="execute"):
MoinMoin/wikiutil.py:554:    @param cfg: wiki config instance
MoinMoin/wikiutil.py:562:    plugin = importWikiPlugin(cfg, kind, name, function)
MoinMoin/wikiutil.py:570:def importWikiPlugin(cfg, kind, name, function):
MoinMoin/wikiutil.py:577:    @param cfg: wiki config instance
MoinMoin/wikiutil.py:586:    modulename = '%s.plugin.%s.%s' % (cfg.siteid, kind, name)
MoinMoin/wikiutil.py:590:        plugin = cfg._wiki_plugins[key]
MoinMoin/wikiutil.py:595:            cfg._wiki_plugins[key] = plugin
MoinMoin/wikiutil.py:597:            cfg._wiki_plugins = {key: plugin}
MoinMoin/wikiutil.py:616:def wikiPlugins(kind, cfg):
MoinMoin/wikiutil.py:624:    modulename = '%s.plugin.%s' % (cfg.siteid, kind)
MoinMoin/wikiutil.py:629:def getPlugins(kind, cfg):
MoinMoin/wikiutil.py:640:    for plugin in wikiPlugins(kind, cfg):
MoinMoin/wikiutil.py:651:def getParserForExtension(cfg, extension):
MoinMoin/wikiutil.py:659:    @param cfg: the Config instance for the wiki in question
MoinMoin/wikiutil.py:664:    if not hasattr(cfg, '_EXT_TO_PARSER'):
MoinMoin/wikiutil.py:667:        for pname in getPlugins('parser', cfg):
MoinMoin/wikiutil.py:668:            Parser = importPlugin(cfg, 'parser', pname, 'Parser')
MoinMoin/wikiutil.py:677:        cfg._EXT_TO_PARSER = etp
MoinMoin/wikiutil.py:678:        cfg._EXT_TO_PARSER_DEFAULT = etd
MoinMoin/wikiutil.py:680:    return cfg._EXT_TO_PARSER.get(extension, cfg._EXT_TO_PARSER_DEFAULT)
MoinMoin/wikiutil.py:776:    Map URLs according to 'cfg.url_mappings'.
MoinMoin/wikiutil.py:783:    if request.cfg.url_mappings:
MoinMoin/wikiutil.py:785:        for prefix in request.cfg.url_mappings.keys():
MoinMoin/wikiutil.py:788:                return request.cfg.url_mappings[prefix] + url[len(prefix):]
MoinMoin/wikiutil.py:1014:    user_head = [request.cfg.html_head]
MoinMoin/wikiutil.py:1030:        user_head.append(request.cfg.html_head_queries)
MoinMoin/wikiutil.py:1032:        user_head.append(request.cfg.html_head_posts)
MoinMoin/wikiutil.py:1036:    elif pagename in [page_front_page, request.cfg.page_front_page,
MoinMoin/wikiutil.py:1040:        user_head.append(request.cfg.html_head_index)
MoinMoin/wikiutil.py:1044:        user_head.append(request.cfg.html_head_normal)
MoinMoin/wikiutil.py:1063:            'sitename': escape(request.cfg.html_pagetitle or request.cfg.sitename),
MoinMoin/wikiutil.py:1160:            'logo_string': request.cfg.logo_string,
MoinMoin/wikiutil.py:1161:            'site_name': request.cfg.sitename,
MoinMoin/wikiutil.py:1241:    cfgvars = vars(config)
MoinMoin/wikiutil.py:1242:    for var in cfgvars.values():
MoinMoin/xmlrpc/putClientInfo.py:16:    log = open(os.path.join(xmlrpcobj.request.cfg.data_dir, 'xmlrpc-log'), 'a')

MoinMoin: MoinMoinTodo/Release 1.3.5/ThreadSafety (last edited 2007-10-29 19:13:11 by localhost)