Skip to content

Commit

Permalink
[utils][utils] Add str colorizer
Browse files Browse the repository at this point in the history
  • Loading branch information
pooya-mohammadi committed Jan 9, 2022
1 parent fd04d7e commit e0400e6
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 1 deletion.
1 change: 1 addition & 0 deletions deep_utils/utils/utils/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from .main import shift_lst, dictnamedtuple, easy_argparse
from .pickles import dump_pickle, load_pickle
from .unzip import unzip
from .str_utils import color_str
33 changes: 33 additions & 0 deletions deep_utils/utils/utils/str_utils.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
from typing import Union


def color_str(text, color, mode: Union[str, list] = 'bold'):
"""
colorful texts!
:param text: input text
:param color: text color
:param mode: defines text's modes. Valid modes: [ underline, bold ]. Pass a list of modes in case more one mode is needed!
:return: colored text
"""
if isinstance(mode, str):
mode = [mode]
colors = {'black': '\033[30m', # basic colors
'red': '\033[31m',
'green': '\033[32m',
'yellow': '\033[33m',
'blue': '\033[34m',
'magenta': '\033[35m',
'cyan': '\033[36m',
'white': '\033[37m',
'bright_black': '\033[90m', # bright colors
'bright_red': '\033[91m',
'bright_green': '\033[92m',
'bright_yellow': '\033[93m',
'bright_blue': '\033[94m',
'bright_magenta': '\033[95m',
'bright_cyan': '\033[96m',
'bright_white': '\033[97m',
'end': '\033[0m', # misc
'bold': '\033[1m',
'underline': '\033[4m'}
return colors[color] + "".join(colors[m] for m in mode) + text + colors['end']
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
except (IOError, ImportError):
long_description = open('README.md', mode='r').read()

VERSION = "0.8.9"
VERSION = "0.8.10"


class VerifyVersionCommand(install):
Expand Down

0 comments on commit e0400e6

Please sign in to comment.