def _render_static_content(request, version, content_id, additional_context=None): """ This is the primary function that renders all static content (.html) pages. It builds the context and passes it to the only documentation template rendering template. """ isRaw = request.GET.get('raw', None) static_content_path = sitemap_helper.get_external_file_path(request.path) static_content = _get_static_content_from_template(static_content_path) if isRaw and isRaw == '1': response = HttpResponse(static_content, content_type="text/html") return response else: context = { 'static_content': static_content, 'content_id': content_id, } if additional_context: context.update(additional_context) template = 'content_panel.html' if content_id in [Content.MOBILE, Content.MODELS]: template = 'content_doc.html' response = render(request, template, context) if version: portal_helper.set_preferred_version(request, response, version) return response
def _render_static_content(request, version, content_id, additional_context=None): """ This is the primary function that renders all static content (.html) pages. It builds the context and passes it to the only documentation template rendering template. """ static_content_path = sitemap_helper.get_external_file_path(request.path) context = { 'static_content': _get_static_content_from_template(static_content_path), 'content_id': content_id, } if additional_context: context.update(additional_context) template = 'visualdl/content_panel.html' response = render(request, template, context) if version: portal_helper.set_preferred_version(response, version) return response
def change_version(request): """ Change current documentation version. """ # Look for a new version in the URL get params. preferred_version = request.GET.get('preferred_version', settings.DEFAULT_DOCS_VERSION) # Refers to the name of the contents service, for eg. 'models', 'documentation', or 'book'. content_id = request.GET.get('content_id', None) # Infer language based on session/cookie. lang = portal_helper.get_preferred_language(request) root_navigation = sitemap_helper.get_sitemap(preferred_version, lang) response = home_root(request) if content_id: if content_id in root_navigation and root_navigation[content_id]: response = _redirect_first_link_in_contents(request, preferred_version, content_id) else: # This version doesn't support this book. Redirect it back to home response = redirect('/') # If no content service specified, just redirect to first page of root site navigation. elif root_navigation and len(root_navigation) > 0: for content_id, content in root_navigation.items(): if content: response = _redirect_first_link_in_contents(request, preferred_version, content_id) portal_helper.set_preferred_version(request, response, preferred_version) return response
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 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')
def _redirect_first_link_in_contents(request, version, content_id): """ Given a version and a content service, redirect to the first link in it's navigation. """ lang = portal_helper.get_preferred_language(request) root_navigation = sitemap_helper.get_sitemap(version, lang) try: # Get the first section link from the content. content = root_navigation[content_id] path = _get_first_link_in_contents(content, lang) if not path: msg = 'Cannot perform reverse lookup on link: %s' % path raise Exception(msg) response = redirect(path) portal_helper.set_preferred_version(request, response, version) return redirect(path) except Exception as e: print e.message return redirect('/')