mirror of
https://github.com/Paillat-dev/FABLE.git
synced 2026-01-02 01:06:20 +00:00
90 lines
2.5 KiB
Python
90 lines
2.5 KiB
Python
|
|
import os
|
||
|
|
import yaml
|
||
|
|
|
||
|
|
clear_screen = lambda: os.system('cls' if os.name == 'nt' else 'clear')
|
||
|
|
open_explorer_here = lambda path: os.system(f'explorer.exe "{path}"' if os.name == 'nt' else f'open "{path}"')
|
||
|
|
|
||
|
|
class bcolors:
|
||
|
|
HEADER = '\033[95m'
|
||
|
|
OKBLUE = '\033[94m'
|
||
|
|
OKCYAN = '\033[96m'
|
||
|
|
OKGREEN = '\033[92m'
|
||
|
|
WARNING = '\033[93m'
|
||
|
|
FAIL = '\033[91m'
|
||
|
|
ENDC = '\033[0m'
|
||
|
|
BOLD = '\033[1m'
|
||
|
|
UNDERLINE = '\033[4m'
|
||
|
|
|
||
|
|
class realbcolors:
|
||
|
|
PURPLE = '\033[95m'
|
||
|
|
BLUE = '\033[94m'
|
||
|
|
CYAN = '\033[96m'
|
||
|
|
GREEN = '\033[92m'
|
||
|
|
YELLOW = '\033[93m'
|
||
|
|
RED = '\033[91m'
|
||
|
|
ENDC = '\033[0m'
|
||
|
|
BOLD = '\033[1m'
|
||
|
|
UNDERLINE = '\033[4m'
|
||
|
|
|
||
|
|
def printm(*args, **kwargs):
|
||
|
|
result = ''
|
||
|
|
underline_counter = 0
|
||
|
|
bold_counter = 0
|
||
|
|
sep = kwargs.get('sep', ' ')
|
||
|
|
text = sep.join([str(arg) for arg in args])
|
||
|
|
i = 0
|
||
|
|
while i < len(text):
|
||
|
|
if text[i:].startswith('$***'):
|
||
|
|
result += text[i:i+4].replace('$', '')
|
||
|
|
i += 4
|
||
|
|
continue
|
||
|
|
elif text[i:].startswith('$**'):
|
||
|
|
result += text[i:i+3].replace('$', '')
|
||
|
|
i += 3
|
||
|
|
continue
|
||
|
|
elif text[i:].startswith('$*'):
|
||
|
|
result += text[i:i+2].replace('$', '')
|
||
|
|
i += 2
|
||
|
|
continue
|
||
|
|
elif text[i:].startswith('***'):
|
||
|
|
if bold_counter % 2 == 0 and underline_counter % 2 == 0:
|
||
|
|
result += bcolors.BOLD + bcolors.UNDERLINE
|
||
|
|
elif bold_counter % 2 == 0:
|
||
|
|
result += bcolors.BOLD
|
||
|
|
elif underline_counter % 2 == 0:
|
||
|
|
result += bcolors.UNDERLINE
|
||
|
|
else:
|
||
|
|
result += bcolors.ENDC
|
||
|
|
i += 3
|
||
|
|
bold_counter += 1
|
||
|
|
underline_counter += 1
|
||
|
|
continue
|
||
|
|
elif text[i:].startswith('**'):
|
||
|
|
if bold_counter % 2 == 0:
|
||
|
|
result += bcolors.BOLD
|
||
|
|
else:
|
||
|
|
result += bcolors.ENDC
|
||
|
|
i += 2
|
||
|
|
bold_counter += 1
|
||
|
|
continue
|
||
|
|
elif text[i:].startswith('*'):
|
||
|
|
if underline_counter % 2 == 0:
|
||
|
|
result += bcolors.UNDERLINE
|
||
|
|
else:
|
||
|
|
result += bcolors.ENDC
|
||
|
|
i += 1
|
||
|
|
underline_counter += 1
|
||
|
|
continue
|
||
|
|
|
||
|
|
result += text[i]
|
||
|
|
i += 1
|
||
|
|
|
||
|
|
result += bcolors.ENDC # Ensure the formatting is reset at the end
|
||
|
|
|
||
|
|
print(text, **kwargs)
|
||
|
|
|
||
|
|
def getenv(var, default=None):
|
||
|
|
with open('env.yaml', 'r') as f:
|
||
|
|
env = yaml.safe_load(f)
|
||
|
|
return env.get(var, default)
|