Source code for polyfemos.front.colors

# -*- coding: utf-8 -*-
# -----------------------------------------------------------------------------
# This file is part of Polyfemos.
#
# Polyfemos is free software: you can redistribute it and/or modify it under
# the terms of the GNU Lesser General Public License as published by the Free
# Software Foundation, either version 3 of the License, or any later version.
#
# Polyfemos is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
# details.
#
# You should have received a copy of the GNU Lesser General Public License and
# GNU General Public License along with Polyfemos. If not, see
# <https://www.gnu.org/licenses/>.'
#
# Author: Henrik Jänkävaara
# -----------------------------------------------------------------------------
"""
Contains all color values for polyfemos

:copyright:
    2019, University of Oulu, Sodankyla Geophysical Observatory
:license:
    GNU Lesser General Public License v3.0 or later
    (https://spdx.org/licenses/LGPL-3.0-or-later.html)
"""
import functools

from flask import render_template


WHITE = "#ffffff"
GREY_1 = "#fafafa"
GREY_2 = "#f5f5f5"
GREY_3 = "#dddddd"
GREY_4 = "#aaaaaa"
BLACK = "#000000"
RED_1 = "#ff4d88"
RED_2 = "#e60047"
RED_3 = "#990033"
ALERT_GREEN = "#82ff82"
ALERT_YELLOW = "#eeff88"
ALERT_RED = "#ff4d88"
GREEN = "#476b6b"
BLUE = "#22408f"


[docs]def get_color_styles(): """ :rtype: str :return: css styles consisting of color variables """ str_ = ":root {\n" str_ += " --white: {};\n".format(WHITE) str_ += " --grey-1: {};\n".format(GREY_1) str_ += " --grey-2: {};\n".format(GREY_2) str_ += " --grey-3: {};\n".format(GREY_3) str_ += " --grey-4: {};\n".format(GREY_4) str_ += " --black: {};\n".format(BLACK) str_ += " --red-1: {};\n".format(RED_1) str_ += " --red-2: {};\n".format(RED_2) str_ += " --red-3: {};\n".format(RED_3) str_ += " --alert-green: {};\n".format(ALERT_GREEN) str_ += " --alert-yellow: {};\n".format(ALERT_YELLOW) str_ += " --alert-red: {};\n".format(ALERT_RED) str_ += " --green: {};\n".format(GREEN) str_ += " --blue: {};\n".format(BLUE) str_ += "}\n" return str_
[docs]def render_colors(func_): """ :type func\_: func :param func\_: :func:`~flask.render_template` :rtype: func :return: decorated function """ @functools.wraps(func_) def wrapper(*args, **kwargs): return func_(*args, color_styles=get_color_styles(), **kwargs) return wrapper
colored_template = render_colors(render_template)