Source code for mdacli.colors

#!/usr/bin/env python3
#
# Copyright (c) 2021 Authors and contributors
#
# Released under GNU Public Licence, v2 or any higher version
# SPDX-License-Identifier: GPL-2.0-or-later

"""Emphaising strings with colors etc.

Taken from https://gist.github.com/tuvokki/14deb97bef6df9bc6553.
"""


[docs] class Emphasise: """Class for emphaising strings with colors etc. Attributes ---------- bold : str bold attribute underline : str underline attribute gray : str gray color red : str red color green : str green color yellow : str yellow color blue : str blue color pink : str pink color turquoise : str turquoise color """ _endc = "\033[0m" bold = "\033[1m" underline = "\033[4m" gray = "\033[90m" red = "\033[91m" green = "\033[92m" yellow = "\033[93m" blue = "\033[94m" pink = "\033[95m" turquoise = "\033[96m" def _emphasise(self, str, style): return f"{style}{str}{self._endc}"
[docs] @staticmethod def emphasise(str, style): """Decorate a ``str`` with desired style. The Style could be a color, bold or underline. Parameters ---------- message : str message to print style : str emphasising style. See class attributes for available styles Example ------- >>> print(Emphasise.emphasise("My colored message", Emphasise.blue)) """ style_str = getattr(Emphasise, style) return Emphasise._emphasise(Emphasise, str, style_str)
[docs] @staticmethod def warning(message): """Return a yellow warning. Parameters ---------- message : str yellow warning to print Returns ------- decorated_message : str decorated message Example ------ >>> print(bcolors.warning("Potential Danger!")) """ return Emphasise._emphasise(Emphasise, message, Emphasise.yellow)
[docs] @staticmethod def error(message): """Return a red error. Parameters ---------- message : str red error to return Returns ------- decorated_message : str decorated message Example ------ >>> print(bcolors.error("Potential Danger!")) """ return Emphasise._emphasise(Emphasise, message, Emphasise.red)
[docs] @staticmethod def ok(message): """Return a green ok. Parameters ---------- message : str green ok to return Returns ------- decorated_message : str decorated message Example ------ >>> print(bcolors.ok("Yay!")) """ return Emphasise._emphasise(Emphasise, message, Emphasise.green)
[docs] @staticmethod def info(message): """Return a blue info. Parameters ---------- message : str blue info to return Returns ------- decorated_message : str decorated message Example ------ >>> print(bcolors.info("Blue Yay!")) """ return Emphasise._emphasise(Emphasise, message, Emphasise.blue)
[docs] @staticmethod def header(message): """Return a pink header. Parameters ---------- message : str pink header to return Returns ------- decorated_message : str decorated message Example ------ >>> print(bcolors.header("This is great")) """ return Emphasise._emphasise(Emphasise, message, Emphasise.blue)
[docs] @staticmethod def debug(message): """Return a turquoise debug message. Parameters ---------- message : str turquoise debug message to return Returns ------- decorated_message : str decorated message Example ------ >>> print(bcolors.debug("a=1")) """ return Emphasise._emphasise(Emphasise, message, Emphasise.turquoise)