Source code for invenio_i18n.jinja2
# -*- coding: utf-8 -*-
#
# This file is part of Invenio.
# Copyright (C) 2015-2018 CERN.
#
# Invenio is free software; you can redistribute it and/or modify it
# under the terms of the MIT License; see LICENSE file for more details.
"""Babel datetime localization template filters for Jinja.
See full documentation of corresponding methods in Flask-BabelEx:
https://pythonhosted.org/Flask-BabelEx/
"""
from __future__ import absolute_import, print_function
from flask import current_app
from flask_babelex import get_locale, to_user_timezone, to_utc
[docs]def filter_to_user_timezone(dt):
"""Convert a datetime object to the user's timezone.
Installed on application as ``tousertimezone``.
"""
return to_user_timezone(dt)
[docs]def filter_to_utc(dt):
"""Convert a datetime object to UTC and drop tzinfo.
Installed on application as ``toutc``.
"""
return to_utc(dt)
[docs]def filter_language_name(lang_code):
"""Convert language code into display name in current locale.
Installed on application as ``language_name``.
"""
return current_app.extensions['babel'].load_locale(
lang_code).get_display_name(get_locale().language)
[docs]def filter_language_name_local(lang_code):
"""Convert language code into display name in local locale.
Installed on application as ``language_name_local``.
"""
return current_app.extensions['babel'].load_locale(
lang_code).display_name