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 } })
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 }
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
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)
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 }
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')