示例#1
0
def rebuild_index():
    """ Rebuild search index
    """
    app = create_app()

    if app.config.get('SEARCH_TYPE') == 'simple':
        click.echo("Search type is simple, try using elasticsearch.")
        return

    with app.app_context():
        # Wiki
        search.delete_index('wiki')
        wiki = Wiki(app.config['WIKI_PATH'])
        for entry in wiki.get_index():
            page = wiki.get_page(entry['name'])
            if not page:
                # Some non-markdown files may have issues
                continue
            name = filename_to_cname(page['name'])
            # TODO add email?
            body = dict(name=name,
                        content=page['data'],
                        message=page['info']['message'],
                        username=page['info']['author'],
                        updated_on=entry['mtime'],
                        created_on=entry['ctime'])
            search.index_wiki(name, body)
示例#2
0
def rebuild_index():
    """ Rebuild search index
    """
    if current_app.config.get('SEARCH_TYPE') == 'simple':
        click.echo("Search type is simple, try using elasticsearch.")
        return

    # Wiki
    search.delete_index('wiki')
    wiki = Wiki(current_app.config['WIKI_PATH'])
    for entry in wiki.get_index():
        page = wiki.get_page(entry['name'])
        if not page:
            # Some non-markdown files may have issues
            continue
        # TODO add email?
        # TODO I have concens about indexing the commit info from latest revision, see #148
        info = next(page.history)
        body = dict(name=page.name,
                    content=page.data,
                    message=info['message'],
                    username=info['author'],
                    updated_on=entry['mtime'],
                    created_on=entry['ctime'])
        search.index_wiki(page.name, body)
示例#3
0
def wiki_write_page(name, content, message=None, username=None, email=None, **kwargs):

    if not hasattr(search, 'index_wiki'):
        # using simple search or none
        return

    body = dict(name=name,
                content=content,
                message=message,
                email=email,
                username=username)
    return search.index_wiki(name, body)
示例#4
0
def wiki_write_page(name, content, message=None, username=None, email=None, **kwargs):

    if not hasattr(search, 'index_wiki'):
        # using simple search or none
        return

    body = dict(name=name,
                content=content,
                message=message,
                email=email,
                username=username)
    return search.index_wiki(name, body)