Example #1
0
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)
Example #2
0
common_css = ''.join(common_file.readlines())
common_file.close()
print_file = open(os.path.join(css_location, 'print.css'))
print_css = ''.join(print_file.readlines())
print_file.close()

logo_background_file = open(os.path.join(img_location, 'floater.png'))
logo_background = ''.join(logo_background_file.readlines())
logo_background_file.close()
if config.image_logo:
  logo_file = open(os.path.join(config.web_root, config.url_prefix[1:], config.image_logo))
  logo = ''.join(logo_file.readlines())
  logo_background_file.close()


flat_page_dict = { 'Wiki Settings': buildDB.basic_pages['Wiki Settings'],
'Wiki Settings/CSS': buildDB.basic_pages['Wiki Settings/CSS'],
'Wiki Settings/Images': buildDB.basic_pages['Wiki Settings/Images'] }

flat_page_dict['Wiki Settings/CSS'].files = [ ("screen.css", screen_css), ("common.css", common_css), ("print.css", print_css) ]
images_list = [ ("logo_background.png", logo_background) ]
if config.image_logo: images_list.append(("logo.png", logo))
flat_page_dict['Wiki Settings/Images'].files = images_list

buildDB.insert_pages(cursor, flat_page_dict)

plist = wikiutil.getPageList(req)
maintenance.buildCaches(plist)

req.db_disconnect()