Exemple #1
0
def nav_bar(context):
    """
    Build the navigation based on the current language.
    """
    current_lang_code = context.request.LANGUAGE_CODE
    root_navigation = sitemap_helper.get_sitemap(
        portal_helper.get_preferred_version(context.request),
        current_lang_code)

    # TODO[thuan]: This is kinda hacky, need to find better way of removing visualdl docs from PPO
    if 'visualdl' in root_navigation:
        root_navigation.pop('visualdl')

    # Since we default to english, we set the change lang toggle to chinese
    lang_label = u'中文'
    lang_link = '/change-lang?lang_code=zh'

    if current_lang_code and current_lang_code == 'zh':
        lang_label = 'English'
        lang_link = '/change-lang?lang_code=en'

    return _common_context(
        context, {
            'root_nav': root_navigation,
            'lang_def': {
                'label': lang_label,
                'link': lang_link
            }
        })
Exemple #2
0
def nav_bar(context):
    """
    Build the navigation based on the current language.
    """
    current_lang_code = context.request.LANGUAGE_CODE
    root_navigation = sitemap_helper.get_sitemap(
        portal_helper.get_preferred_version(context.request),
        current_lang_code)

    # Since we default to english, we set the change lang toggle to chinese
    lang_label = u'中文'
    lang_link = '/change-lang?lang_code=zh'

    if current_lang_code and current_lang_code == 'zh':
        lang_label = 'English'
        lang_link = '/change-lang?lang_code=en'

    return _common_context(
        context, {
            'root_nav': root_navigation,
            'lang_def': {
                'label': lang_label,
                'link': lang_link
            }
        })
def base_context(request):
    return {
        'CURRENT_DOCS_VERSION': portal_helper.get_preferred_version(request),
        'CURRENT_API_VERSION':
        portal_helper.get_preferred_api_version(request),
        'settings': settings,
        'url_helper': url_helper
    }
Exemple #4
0
def change_lang(request):
    """
    Change current documentation language.
    """
    lang = request.GET.get('lang_code', 'en')

    # By default, intend to redirect to the home page.
    response = redirect('/')

    # Needs to set the preferred language first in case the following code reads lang from portal_helper.
    portal_helper.set_preferred_language(request, response, lang)

    # Use the page the user was on, right before attempting to change the language.
    # If there is a known page the user was on, attempt to redirect to it's root contents.
    from_path = urllib.unquote(request.GET.get('path', None))

    if from_path:
        # Get which content the user was reading.
        content_id = request.GET.get('content_id')

        if content_id:
            # Get the proper version.
            docs_version = portal_helper.get_preferred_version(request)

            # Grabbing root_navigation to check if the current lang supports this book
            # It also makes sure that all_links_cache is ready.
            root_navigation = sitemap_helper.get_sitemap(docs_version, lang)

            if content_id in root_navigation:
                all_links_cache = cache.get(
                    sitemap_helper.get_all_links_cache_key(docs_version, lang),
                    None)

                key = url_helper.link_cache_key(from_path)

                if all_links_cache and key in all_links_cache:
                    response = redirect(all_links_cache[key])
                else:
                    # There is no translated path. Use the first link in the contents instead
                    response = _redirect_first_link_in_contents(
                        request, docs_version, content_id)

        # If the user happens to be coming from the blog.
        elif from_path.startswith('/blog'):
            # Blog doesn't a content_id and translated version. Simply redirect back to the original path.
            response = redirect(from_path)

    portal_helper.set_preferred_language(request, response, lang)

    return response
Exemple #5
0
def content_home(request, content_id, lang=None):
    is_raw = request.GET.get('raw', None) == '1'

    if lang == None:
        lang = portal_helper.get_preferred_language(request)

    content_id = urlparse(request.path).path[15:]

    if hasattr(request, 'urlconf') and request.urlconf == 'visualDL.urls':
        content_id = 'visualdl'
    elif content_id in ['en', 'zh']:
        # If content_id is en or zh, it means we are dealing with regular documentations
        content_id = 'docs'
    # else content_id stays the same, it could be models or mobile

    return _redirect_first_link_in_contents(
        request, content_id, 'develop' if content_id == 'visualdl' else
        portal_helper.get_preferred_version(request), lang, is_raw)
Exemple #6
0
def home_root(request):
    if settings.CURRENT_PPO_MODE == settings.PPO_MODES.DOC_EDIT_MODE:
        context = {
            'folder_names': portal_helper.get_available_doc_folder_names(),
        }
        return render(request, 'index_doc_mode.html', context)

    elif settings.CURRENT_PPO_MODE == settings.PPO_MODES.DOC_VIEW_MODE:
        if portal_helper.has_downloaded_workspace_file():
            preferred_version = portal_helper.get_preferred_version(request)
            return _redirect_first_link_in_contents(request, preferred_version,
                                                    Content.DOCUMENTATION)
        else:
            response = render(request, 'index_doc_view_mode.html')
            portal_helper.set_preferred_version(response, 'develop')
            return response

    else:
        return render(request, 'index.html')
def base_context(request):
    path = urlparse(request.path).path
    content_id, lang, version = url_helper.get_parts_from_url_path(path)

    if not version:
        version = portal_helper.get_preferred_version(request)

    if lang in ['en', 'zh'
                ] and lang != portal_helper.get_preferred_language(request):
        portal_helper.set_preferred_language(request, None, lang)
    else:
        lang = portal_helper.get_preferred_language(request)

    return {
        'CURRENT_DOCS_VERSION': version,
        'settings': settings,
        'url_helper': url_helper,
        'lang': lang,
        'content_id': content_id
    }
Exemple #8
0
def home_root(request):
    if settings.CURRENT_PPO_MODE == settings.PPO_MODES.DOC_EDIT_MODE:
        if request.method == 'POST':
            form = PaddleOperatorsForm(request.POST)

            if form.is_valid():
                print 'PROCESSING PADDLE OPERATORS'
                output_path = get_destination_documentation_dir(
                    'doc_test', 'documentation')
                generate_operators_page(form['operatorsJson'].data,
                                        output_path, ['en', 'zh'])

                for lang in ['en', 'zh']:
                    generate_operators_sitemap(output_path, lang)

                sitemap_helper.remove_all_resolved_sitemaps()

                return redirect('/docs/%s/documentation/en/operators.html' %
                                settings.DEFAULT_DOCS_VERSION)
        else:
            form = PaddleOperatorsForm()

        context = {
            'folder_names': portal_helper.get_available_doc_folder_names(),
            'form': form
        }
        return render(request, 'index_doc_mode.html', context)

    elif settings.CURRENT_PPO_MODE == settings.PPO_MODES.DOC_VIEW_MODE:
        if portal_helper.has_downloaded_workspace_file():
            preferred_version = portal_helper.get_preferred_version(request)
            return _redirect_first_link_in_contents(request, preferred_version,
                                                    Content.DOCUMENTATION)
        else:
            response = render(request, 'index_doc_view_mode.html')
            portal_helper.set_preferred_version(request, response, 'develop')
            return response

    else:
        return render(request, 'index.html')