def header(title): print() title = fx.bold(title) title = fx.underline(title) title = fg.cyan(title) write(title) print()
def do_go(args): debug(f"Trying to go: {args}") compass = ["north", "south", "east", "west"] old_place = get_place() if not args: error(fg.cyan(f"Which way does your heart guide you?")) return direction = args[0].lower() if direction not in compass: error(f"Sorry, you're wrong. I have no idea how to go {direction} from here.") return new_name = old_place.get(direction) if not new_name: error(fx.frame("Sorry, you can't get there from here")) return new_place = get_place(new_name) PLAYER["place"] = new_name wrap(fx.bold(new_place["name"])) wrap(fx.encircle(new_place["description"]))
def header(title): print() header_title = fx.bold(title) write(header_title) print()
def header(title): print() real_title = fg.lightblack(fx.bold(title)) write(real_title) print()
def main(args): status = os.EX_OK mode = args.character_mode try: # Get theme - defaults bin_clr = dec_clr = hex_clr = hdr_style = SilentString() evn_bg_clr = odd_bg_clr = '' theme = get_theme() if theme == 'dark': bin_clr = fg.darkred dec_clr = fg.darkorange3 hex_clr = fg.purple hdr_style = bg.black + fx.dim evn_bg_clr = str(bg.i235) odd_bg_clr = str(bg.i233) elif theme == 'light': bin_clr = fg.blue dec_clr = fg.green hex_clr = fg.cyan hdr_style = bg.i255 + fx.dim evn_bg_clr = str(bg.i253) odd_bg_clr = str(bg.i255) if args.print_headers: ASCII = 'ASCII' if args.make_links: ASCII = make_hyperlink(_wp_base_url + 'ASCII', ASCII) print(fx.bold( f' Four-Column Grouped {ASCII} Table' ), '\n' ) bc = bin_clr('Bin') dc = dec_clr('Dc') dec = dec_clr('Dec') hx = hex_clr('Hx') print(hdr_style( f' {bc} {dc} {hx} {bin_clr("00")} Ctrl ' f'{dc} {hx} {bin_clr("01")} Punct. ' f'{dc} {hx} {bin_clr("10")} Upper ' f'{dec} {hx} {bin_clr("11")} Lower' )) # print each row for row in index_table: columns = [] row_num = row[0] if (row_num % 2) == 0: # even columns.append(evn_bg_clr) else: # odd columns.append(odd_bg_clr) for i in row: binary = ' ' if mode is UNICODE_MODE: padding = 2 else: padding = 3 if i < 32: # control chars + space sinfo = ctrl_symbols[i] binary = bin_clr(sinfo[0]) symbol = f'{sinfo[mode]:<{padding}}' if mode is ASCII_MODE: # add italic symbol = fx.italic + symbol + defx.italic if args.make_links: symbol = make_hyperlink(_wp_base_url + sinfo[3], symbol) if mode is UNICODE_MODE: # short chars, add margin symbol += ' ' elif i == 32: # space is unique padding = 2 # always sinfo = ctrl_symbols[i] symbol = f'{sinfo[mode]:<{padding}}' if args.make_links: symbol = make_hyperlink(_wp_base_url + sinfo[3], symbol) symbol += ' ' elif i == 127: # delete is unique symbol = ctrl_symbols[-1][mode] symbol = f'{symbol:<{padding}}' if mode is ASCII_MODE: # add italic symbol = fx.italic + symbol + defx.italic if args.make_links: symbol = make_hyperlink(_wp_base_url + ctrl_symbols[-1][2], symbol) else: # other groups symbol = f'{i:<3c}' record = ( f' {binary} {dec_clr}{i:>3} ' f'{hex_clr}{i:02x}{fg.default} {symbol:<3} ' ) columns.append(record) columns.append(str(bg.default)) print(''.join(columns), end='') print(bg.default) if args.print_headers: print() except Exception as err: print(err) status = os.EX_SOFTWARE return status
def print_ascii_chart( link=False, headers=True, unicode_symbols=False, ): # see module doc string mode = UNICODE_MODE if unicode_symbols else ASCII_MODE # TODO try: # Get theme - defaults bin_clr = dec_clr = hex_clr = hdr_style = SilentString() evn_bg_clr = odd_bg_clr = '' theme = get_theme() if theme == 'dark': bin_clr = fg.darkred dec_clr = fg.darkorange3 hex_clr = fg.purple evn_bg_clr = str(bg.i233) odd_bg_clr = str(bg.i235) hdr_style = bg.i235 + fx.italic elif theme == 'light': bin_clr = fg.blue dec_clr = fg.green hex_clr = fg.cyan evn_bg_clr = str(bg.i255) odd_bg_clr = str(bg.i253) hdr_style = bg.i253 + fx.italic if headers: ASCII = 'ASCII' if link: ASCII = make_hyperlink(_wp_base_url + 'ASCII', ASCII) print('\n ', fx.bold(f'Four-Column Grouped {ASCII} Table'), '\n') Bin = bin_clr('Bin') Dc = dec_clr('Dc') Dec = dec_clr('Dec') Hx = hex_clr('Hx') d, n = fx.dim, defx.dim print( hdr_style( f' {Bin} {Dc} {Hx} {bin_clr("00")} {d}Ctrl{n} ' f'{Dc} {Hx} {bin_clr("01")} {d}Punct{n} ' f'{Dc} {Hx} {bin_clr("10")} {d}Upper{n} ' f'{Dec} {Hx} {bin_clr("11")} {d}Lower{n} ')) # print each row for row in index_table: columns = [] row_num = row[0] if (row_num % 2) == 0: # even columns.append(evn_bg_clr) else: # odd columns.append(odd_bg_clr) for i in row: binary = ' ' if mode is UNICODE_MODE: padding = 2 else: padding = 3 if i < 32: # control chars + space sinfo = ctrl_symbols[i] binary = bin_clr(sinfo[0]) symbol = f'{sinfo[mode]:<{padding}}' if mode is ASCII_MODE: # add italic symbol = fx.italic + symbol + defx.italic if link: symbol = make_hyperlink(_wp_base_url + sinfo[3], symbol) if mode is UNICODE_MODE: # short chars, add margin symbol += ' ' elif i == 32: # space is unique padding = 2 # always sinfo = ctrl_symbols[i] symbol = f'{sinfo[mode]:<{padding}}' if link: symbol = make_hyperlink(_wp_base_url + sinfo[3], symbol) symbol += ' ' elif i == 127: # delete is unique symbol = ctrl_symbols[-1][mode] symbol = f'{symbol:<{padding}}' if mode is ASCII_MODE: # add italic symbol = fx.italic + symbol + defx.italic if link: symbol = make_hyperlink( _wp_base_url + ctrl_symbols[-1][2], symbol) else: # other groups symbol = f'{i:<3c}' record = (f' {binary} {dec_clr}{i:>3} ' f'{hex_clr}{i:02x}{fg.default} {symbol:<3} ') columns.append(record) columns.append(str(bg.default)) # extra padding at end print(''.join(columns), end='') print(bg.default) except Exception as err: print(err) return ' ' if headers else '' # quiets console-cli, empty avoids extra nl