def create_wiki(wikiname, adminname, request): from Sycamore.wikidb import setRecentChanges wikiname = wikiname.lower() is_in_farm = wikiutil.isInFarm(wikiname, request) is_valid_name = isValidWikiName(wikiname) if is_valid_name and not is_in_farm: old_wiki = request.config.wiki_name wikiname = wikiname.lower() create_config(wikiname, request) request.switch_wiki(wikiname) buildDB.insert_pages(request, global_pages=False) setup_admin(adminname, request) build_page_caches(request) clear_page_caches(request) build_search_index(request) setRecentChanges(request) request.switch_wiki(old_wiki) return None if is_in_farm: return 'Wiki creation failed because the wiki "%s" already exists!' % ( wikiname) if not is_valid_name: return ('Wiki creation failed because the wiki name "%s" is invalid. ' 'You may only use the numbers 0-9, the letters a-z, and the ' 'dash "-" in a wiki name.' % wikiname)
def updateRecentChanges(page): request = page.request # set global recent changes (per-wiki) wikidb.setRecentChanges(request) # set page specific recent changes wikidb.setRecentChanges(request, page=page.page_name)