microcore.ui

 1from colorama import Fore, init
 2from .utils import is_notebook
 3
 4if not is_notebook():
 5    init(autoreset=True)
 6
 7
 8def info(*args, color=Fore.LIGHTYELLOW_EX, **kwargs):
 9    print(*[color + i for i in args], **kwargs)
10
11
12def debug(msg):
13    info(msg, color=Fore.BLUE)
14
15
16def error(*args, **kwargs):
17    print(*[Fore.RED + i for i in args], **kwargs)
18
19
20def ask_yn(msg):
21    return "y" in input(msg + " (y/n)").lower().strip()
22
23
24def ask_choose(msg, variants: list):
25    i = 0
26    if isinstance(variants, list):
27        for item in variants:
28            i += 1
29            print(f"\t{Fore.MAGENTA}{i}:{Fore.RESET}\t{item}")
30    while True:
31        i = input(f"{msg} {Fore.MAGENTA}[1-{len(variants)}]{Fore.RESET}: ")
32        if not i.isdigit():
33            error("Not a number")
34            continue
35        i = int(i) - 1
36        if i >= len(variants) or i < 0:
37            error("Incorrect number")
38            continue
39        break
40
41    item = variants[int(i)]
42    return item
43
44
45def magenta(msg):
46    return f"{Fore.MAGENTA}{msg}{Fore.RESET}"
47
48
49def yellow(msg):
50    return f"{Fore.YELLOW}{msg}{Fore.RESET}"
51
52
53def red(msg):
54    return f"{Fore.RED}{msg}{Fore.RESET}"
55
56
57def blue(msg):
58    return f"{Fore.BLUE}{msg}{Fore.RESET}"
59
60
61def green(msg):
62    return f"{Fore.GREEN}{msg}{Fore.RESET}"
63
64
65def cyan(msg):
66    return f"{Fore.CYAN}{msg}{Fore.RESET}"
67
68
69def white(msg):
70    return f"{Fore.WHITE}{msg}{Fore.RESET}"
71
72
73def gray(msg):
74    return f"\033[90m{msg}{Fore.RESET}"
75
76
77def black(msg):
78    return f"{Fore.BLACK}{msg}{Fore.RESET}"
def info(*args, color='\x1b[93m', **kwargs):
 9def info(*args, color=Fore.LIGHTYELLOW_EX, **kwargs):
10    print(*[color + i for i in args], **kwargs)
def debug(msg):
13def debug(msg):
14    info(msg, color=Fore.BLUE)
def error(*args, **kwargs):
17def error(*args, **kwargs):
18    print(*[Fore.RED + i for i in args], **kwargs)
def ask_yn(msg):
21def ask_yn(msg):
22    return "y" in input(msg + " (y/n)").lower().strip()
def ask_choose(msg, variants: list):
25def ask_choose(msg, variants: list):
26    i = 0
27    if isinstance(variants, list):
28        for item in variants:
29            i += 1
30            print(f"\t{Fore.MAGENTA}{i}:{Fore.RESET}\t{item}")
31    while True:
32        i = input(f"{msg} {Fore.MAGENTA}[1-{len(variants)}]{Fore.RESET}: ")
33        if not i.isdigit():
34            error("Not a number")
35            continue
36        i = int(i) - 1
37        if i >= len(variants) or i < 0:
38            error("Incorrect number")
39            continue
40        break
41
42    item = variants[int(i)]
43    return item
def magenta(msg):
46def magenta(msg):
47    return f"{Fore.MAGENTA}{msg}{Fore.RESET}"
def yellow(msg):
50def yellow(msg):
51    return f"{Fore.YELLOW}{msg}{Fore.RESET}"
def red(msg):
54def red(msg):
55    return f"{Fore.RED}{msg}{Fore.RESET}"
def blue(msg):
58def blue(msg):
59    return f"{Fore.BLUE}{msg}{Fore.RESET}"
def green(msg):
62def green(msg):
63    return f"{Fore.GREEN}{msg}{Fore.RESET}"
def cyan(msg):
66def cyan(msg):
67    return f"{Fore.CYAN}{msg}{Fore.RESET}"
def white(msg):
70def white(msg):
71    return f"{Fore.WHITE}{msg}{Fore.RESET}"
def gray(msg):
74def gray(msg):
75    return f"\033[90m{msg}{Fore.RESET}"
def black(msg):
78def black(msg):
79    return f"{Fore.BLACK}{msg}{Fore.RESET}"