def i18n_alternate_links(): """Render the <link rel="alternate" hreflang /> if page is in a I18nBlueprint """ if (not request.endpoint or not current_app.url_map.is_endpoint_expecting( request.endpoint, 'lang_code')): return Markup('') try: LINK_PATTERN = ( '<link rel="alternate" href="{url}" hreflang="{lang}" />') links = [] current_lang = get_current_locale().language params = {} if request.args: params.update(request.args) if request.view_args: params.update(request.view_args) for lang in current_app.config['LANGUAGES']: if lang != current_lang: url = url_for(request.endpoint, lang_code=lang, **params) links.append(LINK_PATTERN.format(url=url, lang=lang)) return Markup(''.join(links)) except Exception: # Never fails return Markup('')
def i18n_alternate_links(): """Render the <link rel="alternate" hreflang /> if page is in a I18nBlueprint """ if (not request.endpoint or not current_app.url_map.is_endpoint_expecting(request.endpoint, 'lang_code')): return Markup('') try: LINK_PATTERN = ( '<link rel="alternate" href="{url}" hreflang="{lang}" />') links = [] current_lang = get_current_locale().language params = {} if request.args: params.update(request.args) if request.view_args: params.update(request.view_args) for lang in current_app.config['LANGUAGES']: if lang != current_lang: url = url_for(request.endpoint, lang_code=lang, **params) links.append(LINK_PATTERN.format(url=url, lang=lang)) return Markup(''.join(links)) except Exception: # Never fails return Markup('')