[38;5;129m [0m[38;5;93m [0m[38;5;63m [0m[38;5;33m [0m[38;5;39m [0m[38;5;44m [0m[38;5;49m [0m[38;5;48m [0m[38;5;83m [0m[38;5;118m [0m[38;5;154m [0m[38;5;184m [0m[38;5;214m [0m[38;5;208m [0m[38;5;203m [0m[38;5;198m [0m[38;5;199m [0m[38;5;164m [0m[38;5;128m [0m[38;5;129m [0m[38;5;99m [0m[38;5;63m [0m[38;5;33m [0m[38;5;39m [0m[38;5;44m [0m[38;5;49m [0m[38;5;48m [0m[38;5;83m_[0m | |||||
[38;5;33m [0m[38;5;39m_[0m[38;5;44m_[0m[38;5;49m [0m[38;5;48m [0m[38;5;83m [0m[38;5;118m_[0m[38;5;154m_[0m[38;5;184m [0m[38;5;214m [0m[38;5;208m [0m[38;5;203m [0m[38;5;198m [0m[38;5;199m [0m[38;5;164m [0m[38;5;128m [0m[38;5;129m [0m[38;5;99m [0m[38;5;63m [0m[38;5;33m [0m[38;5;39m [0m[38;5;44m [0m[38;5;49m [0m[38;5;48m [0m[38;5;83m [0m[38;5;118m [0m[38;5;154m|[0m[38;5;184m [0m[38;5;214m|[0m | |||||
[38;5;49m|[0m[38;5;48m [0m[38;5;83m [0m[38;5;118m|[0m[38;5;154m [0m[38;5;184m|[0m[38;5;214m [0m[38;5;208m [0m[38;5;203m|[0m[38;5;198m [0m[38;5;199m [0m[38;5;164m_[0m[38;5;128m_[0m[38;5;129m_[0m[38;5;99m_[0m[38;5;63m [0m[38;5;33m [0m[38;5;39m_[0m[38;5;44m_[0m[38;5;49m_[0m[38;5;48m [0m[38;5;83m [0m[38;5;118m_[0m[38;5;154m_[0m[38;5;184m_[0m[38;5;214m [0m[38;5;208m|[0m[38;5;203m [0m[38;5;198m|[0m[38;5;199m_[0m[38;5;164m_[0m[38;5;129m_[0m[38;5;93m [0m[38;5;63m [0m[38;5;69m [0m[38;5;39m [0m[38;5;38m_[0m[38;5;44m_[0m[38;5;49m_[0m[38;5;48m [0m[38;5;83m_[0m[38;5;118m_[0m[38;5;154m [0m[38;5;184m [0m[38;5;214m_[0m[38;5;208m_[0m | |||||
[38;5;118m|[0m[38;5;154m [0m[38;5;184m [0m[38;5;214m|[0m[38;5;208m [0m[38;5;203m|[0m[38;5;198m [0m[38;5;199m [0m[38;5;164m|[0m[38;5;128m [0m[38;5;129m/[0m[38;5;99m [0m[38;5;63m_[0m[38;5;33m [0m[38;5;39m [0m[38;5;44m|[0m[38;5;49m|[0m[38;5;48m [0m[38;5;83m [0m[38;5;118m_[0m[38;5;154m|[0m[38;5;184m|[0m[38;5;214m [0m[38;5;208m [0m[38;5;203m_[0m[38;5;198m|[0m[38;5;199m|[0m[38;5;164m [0m[38;5;129m/[0m[38;5;93m [0m[38;5;63m_[0m[38;5;69m [0m[38;5;39m\[0m[38;5;38m [0m[38;5;44m [0m[38;5;49m/[0m[38;5;48m [0m[38;5;83m_[0m[38;5;118m [0m[38;5;154m\[0m[38;5;184m\[0m[38;5;214m [0m[38;5;208m\[0m[38;5;203m/[0m[38;5;198m [0m[38;5;199m/[0m | |||||
[38;5;214m|[0m[38;5;208m [0m[38;5;203m [0m[38;5;198m|[0m[38;5;199m_[0m[38;5;164m|[0m[38;5;128m [0m[38;5;129m [0m[38;5;99m|[0m[38;5;63m|[0m[38;5;33m [0m[38;5;39m|[0m[38;5;44m_[0m[38;5;49m|[0m[38;5;48m [0m[38;5;83m|[0m[38;5;118m|[0m[38;5;154m [0m[38;5;184m|[0m[38;5;214m [0m[38;5;208m [0m[38;5;203m|[0m[38;5;198m [0m[38;5;199m|[0m[38;5;164m [0m[38;5;129m [0m[38;5;93m|[0m[38;5;63m [0m[38;5;69m [0m[38;5;39m|[0m[38;5;38m_[0m[38;5;44m|[0m[38;5;49m [0m[38;5;48m|[0m[38;5;83m|[0m[38;5;118m [0m[38;5;154m|[0m[38;5;184m_[0m[38;5;214m|[0m[38;5;208m [0m[38;5;203m|[0m[38;5;198m|[0m[38;5;199m [0m[38;5;164m [0m[38;5;129m|[0m | |||||
[38;5;198m [0m[38;5;199m\[0m[38;5;164m_[0m[38;5;128m_[0m[38;5;129m_[0m[38;5;99m [0m[38;5;63m [0m[38;5;33m [0m[38;5;39m|[0m[38;5;44m [0m[38;5;49m\[0m[38;5;48m_[0m[38;5;83m_[0m[38;5;118m_[0m[38;5;154m_[0m[38;5;184m|[0m[38;5;214m|[0m[38;5;208m_[0m[38;5;203m|[0m[38;5;198m [0m[38;5;199m [0m[38;5;164m|[0m[38;5;129m_[0m[38;5;93m|[0m[38;5;63m [0m[38;5;69m [0m[38;5;39m|[0m[38;5;38m_[0m[38;5;44m\[0m[38;5;49m_[0m[38;5;48m_[0m[38;5;83m_[0m[38;5;118m/[0m[38;5;154m [0m[38;5;184m [0m[38;5;214m\[0m[38;5;208m_[0m[38;5;203m_[0m[38;5;198m_[0m[38;5;199m/[0m[38;5;164m/[0m[38;5;129m_[0m[38;5;93m/[0m[38;5;63m\[0m[38;5;33m_[0m[38;5;39m\[0m | |||||
[38;5;128m [0m[38;5;129m [0m[38;5;99m [0m[38;5;63m [0m[38;5;33m [0m[38;5;39m\[0m[38;5;44m [0m[38;5;49m [0m[38;5;48m|[0m | |||||
[38;5;63m [0m[38;5;33m [0m[38;5;39m_[0m[38;5;44m_[0m[38;5;49m_[0m[38;5;48m/[0m[38;5;83m [0m[38;5;118m [0m[38;5;154m|[0m . . . Boxing your yarrs since 2019. | |||||
[38;5;44m [0m[38;5;49m|[0m[38;5;48m_[0m[38;5;83m_[0m[38;5;118m_[0m[38;5;154m_[0m[38;5;184m_[0m[38;5;214m/[0m | |||||
[38;5;63m [0m[38;5;33m [0m[38;5;39m [0m[38;5;44m [0m[38;5;49m [0m[38;5;48m [0m[38;5;83m [0m[38;5;118m [0m[38;5;154m [0m[38;5;184m [0m[38;5;214m [0m[38;5;208m [0m[38;5;203m [0m[38;5;198m [0m[38;5;199m [0m[38;5;164m [0m[38;5;128m [0m[38;5;93m [0m[38;5;63m [0m[38;5;63m [0m[38;5;33m [0m[38;5;39m [0m[38;5;44m [0m[38;5;49m [0m[38;5;48m [0m[38;5;83m [0m[38;5;118m [0m[38;5;154m_[0m | |||||
[38;5;44m [0m[38;5;49m_[0m[38;5;48m_[0m[38;5;83m [0m[38;5;118m [0m[38;5;154m [0m[38;5;184m_[0m[38;5;214m_[0m[38;5;208m [0m[38;5;203m [0m[38;5;198m [0m[38;5;199m [0m[38;5;164m [0m[38;5;128m [0m[38;5;93m [0m[38;5;63m [0m[38;5;63m [0m[38;5;33m [0m[38;5;39m [0m[38;5;44m [0m[38;5;49m [0m[38;5;48m [0m[38;5;83m [0m[38;5;118m [0m[38;5;154m [0m[38;5;184m [0m[38;5;214m|[0m[38;5;208m [0m[38;5;203m|[0m | |||||
[38;5;83m|[0m[38;5;118m [0m[38;5;154m [0m[38;5;184m|[0m[38;5;214m [0m[38;5;208m|[0m[38;5;203m [0m[38;5;198m [0m[38;5;199m|[0m[38;5;164m [0m[38;5;128m [0m[38;5;93m_[0m[38;5;63m_[0m[38;5;63m_[0m[38;5;33m_[0m[38;5;39m [0m[38;5;44m [0m[38;5;49m_[0m[38;5;48m_[0m[38;5;83m_[0m[38;5;118m [0m[38;5;154m [0m[38;5;184m_[0m[38;5;214m_[0m[38;5;208m_[0m[38;5;203m [0m[38;5;198m|[0m[38;5;199m [0m[38;5;164m|[0m[38;5;129m_[0m[38;5;93m_[0m[38;5;63m_[0m[38;5;69m [0m[38;5;39m [0m[38;5;44m [0m[38;5;44m [0m[38;5;49m_[0m[38;5;48m_[0m[38;5;83m_[0m[38;5;118m [0m[38;5;154m_[0m[38;5;184m_[0m[38;5;214m [0m[38;5;208m [0m[38;5;203m_[0m[38;5;198m_[0m | |||||
[38;5;184m|[0m[38;5;214m [0m[38;5;208m [0m[38;5;203m|[0m[38;5;198m [0m[38;5;199m|[0m[38;5;164m [0m[38;5;128m [0m[38;5;93m|[0m[38;5;63m [0m[38;5;63m/[0m[38;5;33m [0m[38;5;39m_[0m[38;5;44m [0m[38;5;49m [0m[38;5;48m|[0m[38;5;83m|[0m[38;5;118m [0m[38;5;154m [0m[38;5;184m_[0m[38;5;214m|[0m[38;5;208m|[0m[38;5;203m [0m[38;5;198m [0m[38;5;199m_[0m[38;5;164m|[0m[38;5;129m|[0m[38;5;93m [0m[38;5;63m/[0m[38;5;69m [0m[38;5;39m_[0m[38;5;44m [0m[38;5;44m\[0m[38;5;49m [0m[38;5;48m [0m[38;5;83m/[0m[38;5;118m [0m[38;5;154m_[0m[38;5;184m [0m[38;5;214m\[0m[38;5;208m\[0m[38;5;203m [0m[38;5;198m\[0m[38;5;199m/[0m[38;5;164m [0m[38;5;129m/[0m | |||||
[38;5;203m|[0m[38;5;198m [0m[38;5;199m [0m[38;5;164m|[0m[38;5;128m_[0m[38;5;93m|[0m[38;5;63m [0m[38;5;63m [0m[38;5;33m|[0m[38;5;39m|[0m[38;5;44m [0m[38;5;49m|[0m[38;5;48m_[0m[38;5;83m|[0m[38;5;118m [0m[38;5;154m|[0m[38;5;184m|[0m[38;5;214m [0m[38;5;208m|[0m[38;5;203m [0m[38;5;198m [0m[38;5;199m|[0m[38;5;164m [0m[38;5;129m|[0m[38;5;93m [0m[38;5;63m [0m[38;5;69m|[0m[38;5;39m [0m[38;5;44m [0m[38;5;44m|[0m[38;5;49m_[0m[38;5;48m|[0m[38;5;83m [0m[38;5;118m|[0m[38;5;154m|[0m[38;5;184m [0m[38;5;214m|[0m[38;5;208m_[0m[38;5;203m|[0m[38;5;198m [0m[38;5;199m|[0m[38;5;164m|[0m[38;5;129m [0m[38;5;93m [0m[38;5;63m|[0m | |||||
[38;5;164m [0m[38;5;128m\[0m[38;5;93m_[0m[38;5;63m_[0m[38;5;63m_[0m[38;5;33m [0m[38;5;39m [0m[38;5;44m [0m[38;5;49m|[0m[38;5;48m [0m[38;5;83m\[0m[38;5;118m_[0m[38;5;154m_[0m[38;5;184m_[0m[38;5;214m_[0m[38;5;208m|[0m[38;5;203m|[0m[38;5;198m_[0m[38;5;199m|[0m[38;5;164m [0m[38;5;129m [0m[38;5;93m|[0m[38;5;63m_[0m[38;5;69m|[0m[38;5;39m [0m[38;5;44m [0m[38;5;44m|[0m[38;5;49m_[0m[38;5;48m\[0m[38;5;83m_[0m[38;5;118m_[0m[38;5;154m_[0m[38;5;184m/[0m[38;5;214m [0m[38;5;208m [0m[38;5;203m\[0m[38;5;198m_[0m[38;5;199m_[0m[38;5;164m_[0m[38;5;129m/[0m[38;5;93m/[0m[38;5;63m_[0m[38;5;33m/[0m[38;5;39m\[0m[38;5;44m_[0m[38;5;43m\[0m | |||||
[38;5;63m [0m[38;5;63m [0m[38;5;33m [0m[38;5;39m [0m[38;5;44m [0m[38;5;49m\[0m[38;5;48m [0m[38;5;83m [0m[38;5;118m|[0m | |||||
[38;5;39m [0m[38;5;44m [0m[38;5;49m_[0m[38;5;48m_[0m[38;5;83m_[0m[38;5;118m/[0m[38;5;154m [0m[38;5;184m [0m[38;5;214m|[0m[38;5;208m [0m[38;5;203m.[0m[38;5;198m [0m[38;5;199m.[0m[38;5;164m [0m[38;5;129m.[0m[38;5;93m [0m[38;5;63mb[0m[38;5;69mo[0m[38;5;39mx[0m[38;5;44mi[0m[38;5;44mn[0m[38;5;49mg[0m[38;5;48m [0m[38;5;83my[0m[38;5;118mo[0m[38;5;154mu[0m[38;5;184mr[0m[38;5;214m [0m[38;5;208my[0m[38;5;203ma[0m[38;5;198mr[0m[38;5;199mr[0m[38;5;164ms[0m[38;5;129m [0m[38;5;93ms[0m[38;5;63mi[0m[38;5;33mn[0m[38;5;39mc[0m[38;5;44me[0m[38;5;43m [0m[38;5;48m2[0m[38;5;83m0[0m[38;5;83m1[0m[38;5;118m9[0m[38;5;148m.[0m | |||||
[38;5;48m [0m[38;5;83m|[0m[38;5;118m_[0m[38;5;154m_[0m[38;5;184m_[0m[38;5;214m_[0m[38;5;208m_[0m[38;5;203m/[0m | |||||
_ | |||||
__ __ | | | |||||
| | | | ____ ___ ___ | |___ ___ __ __ | |||||
| | | | / _ || _|| _|| / _ \ / _ \\ \/ / | |||||
| |_| || |_| || | | | | |_| || |_| || | | |||||
\___ | \____||_| |_| |_\___/ \___//_/\_\ | |||||
\ | | |||||
___/ | | |||||
|_____/ | |||||
import os | import os | ||||
from collections import OrderedDict | from collections import OrderedDict | ||||
import sys | import sys | ||||
import subprocess | |||||
import getpass | import getpass | ||||
import json | import json | ||||
USAGE_STR = 'usage: yarrbox.py <init|edit|generate>' | USAGE_STR = 'usage: yarrbox.py <init|edit|generate>' | ||||
def print_ascii_art(): | |||||
art = 'Yarrbox - Boxing your yarrs since 2019' # fallback text | |||||
try: | |||||
artfile = 'yb-art.txt' | |||||
if os.getenv('TERM') == 'xterm-256color': | |||||
artfile = 'yb-art-lol.txt' | |||||
with open(artfile, 'r') as f: | |||||
art = f.read() | |||||
except: | |||||
pass | |||||
print(art) | |||||
def main(): | def main(): | ||||
if len(sys.argv) != 2: | if len(sys.argv) != 2: | ||||
print(USAGE_STR) | print(USAGE_STR) | ||||
command = sys.argv[1] | command = sys.argv[1] | ||||
if command == 'init': | if command == 'init': | ||||
print_ascii_art() | |||||
# Check if a config already exists | # Check if a config already exists | ||||
if os.path.exists('config.json'): | if os.path.exists('config.json'): | ||||
print('A config exists here, overwrite? [y/n, default: n] ', end='', flush=True) | print('A config exists here, overwrite? [y/n, default: n] ', end='', flush=True) | ||||
save_config(cfg) | save_config(cfg) | ||||
elif command == 'edit': | elif command == 'edit': | ||||
print_ascii_art() | |||||
print('Leave options blank to leave unchanged!\n') | print('Leave options blank to leave unchanged!\n') | ||||
cfg = read_config() | cfg = read_config() | ||||
[38;5;199m [0m[38;5;164m [0m[38;5;129m [0m[38;5;93m [0m[38;5;63m [0m[38;5;69m [0m[38;5;33m [0m[38;5;38m [0m[38;5;44m [0m[38;5;49m [0m[38;5;48m [0m[38;5;83m [0m[38;5;118m [0m[38;5;154m [0m[38;5;184m [0m[38;5;214m [0m[38;5;208m [0m[38;5;203m [0m[38;5;198m [0m[38;5;199m [0m[38;5;164m [0m[38;5;129m [0m[38;5;93m [0m[38;5;63m [0m[38;5;33m [0m[38;5;39m [0m[38;5;44m [0m[38;5;43m_[0m | |||||
[38;5;93m [0m[38;5;63m_[0m[38;5;69m_[0m[38;5;33m [0m[38;5;38m [0m[38;5;44m [0m[38;5;49m_[0m[38;5;48m_[0m[38;5;83m [0m[38;5;118m [0m[38;5;154m [0m[38;5;184m [0m[38;5;214m [0m[38;5;208m [0m[38;5;203m [0m[38;5;198m [0m[38;5;199m [0m[38;5;164m [0m[38;5;129m [0m[38;5;93m [0m[38;5;63m [0m[38;5;33m [0m[38;5;39m [0m[38;5;44m [0m[38;5;43m [0m[38;5;48m [0m[38;5;84m|[0m[38;5;83m [0m[38;5;118m|[0m | |||||
[38;5;33m|[0m[38;5;38m [0m[38;5;44m [0m[38;5;49m|[0m[38;5;48m [0m[38;5;83m|[0m[38;5;118m [0m[38;5;154m [0m[38;5;184m|[0m[38;5;214m [0m[38;5;208m [0m[38;5;203m_[0m[38;5;198m_[0m[38;5;199m_[0m[38;5;164m_[0m[38;5;129m [0m[38;5;93m [0m[38;5;63m_[0m[38;5;33m_[0m[38;5;39m_[0m[38;5;44m [0m[38;5;43m [0m[38;5;48m_[0m[38;5;84m_[0m[38;5;83m_[0m[38;5;118m [0m[38;5;154m|[0m[38;5;184m [0m[38;5;214m|[0m[38;5;208m_[0m[38;5;203m_[0m[38;5;198m_[0m[38;5;199m [0m[38;5;164m [0m[38;5;129m [0m[38;5;93m [0m[38;5;63m_[0m[38;5;33m_[0m[38;5;39m_[0m[38;5;44m [0m[38;5;49m_[0m[38;5;48m_[0m[38;5;83m [0m[38;5;119m [0m[38;5;154m_[0m[38;5;148m_[0m | |||||
[38;5;49m|[0m[38;5;48m [0m[38;5;83m [0m[38;5;118m|[0m[38;5;154m [0m[38;5;184m|[0m[38;5;214m [0m[38;5;208m [0m[38;5;203m|[0m[38;5;198m [0m[38;5;199m/[0m[38;5;164m [0m[38;5;129m_[0m[38;5;93m [0m[38;5;63m [0m[38;5;33m|[0m[38;5;39m|[0m[38;5;44m [0m[38;5;43m [0m[38;5;48m_[0m[38;5;84m|[0m[38;5;83m|[0m[38;5;118m [0m[38;5;154m [0m[38;5;184m_[0m[38;5;214m|[0m[38;5;208m|[0m[38;5;203m [0m[38;5;198m/[0m[38;5;199m [0m[38;5;164m_[0m[38;5;129m [0m[38;5;93m\[0m[38;5;63m [0m[38;5;33m [0m[38;5;39m/[0m[38;5;44m [0m[38;5;49m_[0m[38;5;48m [0m[38;5;83m\[0m[38;5;119m\[0m[38;5;154m [0m[38;5;148m\[0m[38;5;184m/[0m[38;5;214m [0m[38;5;208m/[0m | |||||
[38;5;118m|[0m[38;5;154m [0m[38;5;184m [0m[38;5;214m|[0m[38;5;208m_[0m[38;5;203m|[0m[38;5;198m [0m[38;5;199m [0m[38;5;164m|[0m[38;5;129m|[0m[38;5;93m [0m[38;5;63m|[0m[38;5;33m_[0m[38;5;39m|[0m[38;5;44m [0m[38;5;43m|[0m[38;5;48m|[0m[38;5;84m [0m[38;5;83m|[0m[38;5;118m [0m[38;5;154m [0m[38;5;184m|[0m[38;5;214m [0m[38;5;208m|[0m[38;5;203m [0m[38;5;198m [0m[38;5;199m|[0m[38;5;164m [0m[38;5;129m [0m[38;5;93m|[0m[38;5;63m_[0m[38;5;33m|[0m[38;5;39m [0m[38;5;44m|[0m[38;5;49m|[0m[38;5;48m [0m[38;5;83m|[0m[38;5;119m_[0m[38;5;154m|[0m[38;5;148m [0m[38;5;184m|[0m[38;5;214m|[0m[38;5;208m [0m[38;5;203m [0m[38;5;198m|[0m | |||||
[38;5;214m [0m[38;5;208m\[0m[38;5;203m_[0m[38;5;198m_[0m[38;5;199m_[0m[38;5;164m [0m[38;5;129m [0m[38;5;93m [0m[38;5;63m|[0m[38;5;33m [0m[38;5;39m\[0m[38;5;44m_[0m[38;5;43m_[0m[38;5;48m_[0m[38;5;84m_[0m[38;5;83m|[0m[38;5;118m|[0m[38;5;154m_[0m[38;5;184m|[0m[38;5;214m [0m[38;5;208m [0m[38;5;203m|[0m[38;5;198m_[0m[38;5;199m|[0m[38;5;164m [0m[38;5;129m [0m[38;5;93m|[0m[38;5;63m_[0m[38;5;33m\[0m[38;5;39m_[0m[38;5;44m_[0m[38;5;49m_[0m[38;5;48m/[0m[38;5;83m [0m[38;5;119m [0m[38;5;154m\[0m[38;5;148m_[0m[38;5;184m_[0m[38;5;214m_[0m[38;5;208m/[0m[38;5;203m/[0m[38;5;198m_[0m[38;5;199m/[0m[38;5;164m\[0m[38;5;129m_[0m[38;5;93m\[0m | |||||
[38;5;198m [0m[38;5;199m [0m[38;5;164m [0m[38;5;129m [0m[38;5;93m [0m[38;5;63m\[0m[38;5;33m [0m[38;5;39m [0m[38;5;44m|[0m | |||||
[38;5;129m [0m[38;5;93m [0m[38;5;63m_[0m[38;5;33m_[0m[38;5;39m_[0m[38;5;44m/[0m[38;5;43m [0m[38;5;48m [0m[38;5;84m|[0m . . . Boxing your yarrs since 2019! | |||||
[38;5;33m [0m[38;5;39m|[0m[38;5;44m_[0m[38;5;43m_[0m[38;5;48m_[0m[38;5;84m_[0m[38;5;83m_[0m[38;5;118m/[0m | |||||
_ | |||||
__ __ | | | |||||
| | | | ____ ___ ___ | |___ ___ __ __ | |||||
| | | | / _ || _|| _|| / _ \ / _ \\ \/ / | |||||
| |_| || |_| || | | | | |_| || |_| || | | |||||
\___ | \____||_| |_| |_\___/ \___//_/\_\ | |||||
\ | | |||||
___/ | . . . boxing your yarrs since 2019. | |||||
|_____/ | |||||