You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
1.2 KiB
Python

3 years ago
# -*- coding: utf-8 -*-
"""Provide log symbols for various log levels."""
import platform
from enum import Enum
from colorama import init, deinit, Fore
init(autoreset=True)
_MAIN = {
'info': '',
'success': '',
'warning': '',
'error': ''
}
_FALLBACKS = {
'info': '¡',
'success': 'v',
'warning': '!!',
'error': '×'
}
def is_supported():
"""Check whether operating system supports main symbols or not.
Returns
-------
boolean
Whether operating system supports main symbols or not
"""
os_arch = platform.system()
if os_arch != 'Windows':
return True
return False
_SYMBOLS = _MAIN if is_supported() else _FALLBACKS
class LogSymbols(Enum): # pylint: disable=too-few-public-methods
"""LogSymbol enum class.
Attributes
----------
ERROR : str
Colored error symbol
INFO : str
Colored info symbol
SUCCESS : str
Colored success symbol
WARNING : str
Colored warning symbol
"""
INFO = Fore.BLUE + _SYMBOLS['info'] + Fore.RESET
SUCCESS = Fore.GREEN + _SYMBOLS['success'] + Fore.RESET
WARNING = Fore.YELLOW + _SYMBOLS['warning'] + Fore.RESET
ERROR = Fore.RED + _SYMBOLS['error'] + Fore.RESET
deinit()