Files
q-tools/reporting/ascii-codes.py
2018-10-21 22:06:22 +03:00

39 lines
1.0 KiB
Python
Executable File

#!/usr/bin/env python
import sys, os
sys.path.append(os.path.dirname(os.path.realpath(__file__)))
import ansi
from argparse import ArgumentParser
def setup_options():
parser = ArgumentParser()
parser.add_argument("cs",type=str, default = "cp437", nargs = '?',
choices = ["cp437", "latin1", "cp850"]
)
opts=parser.parse_args()
return opts
if __name__ == "__main__":
opts = setup_options()
table=[[] for x in range(8)]
for c in range(0,256):
col = c/32
table[col].append((c,chr(c).decode(opts.cs).encode('utf-8','ignore')))
#sys.stdout.write(chr(c).decode('latin1'))
# remove control chars
table.pop(0)
bc = ansi.code()
bc.clear()
print(bc.color_string("="*20 + " ${Y}%s${Z} "%( opts.cs, ) + "="*20))
for x,col in enumerate(table):
for y,row in enumerate(col):
bc.posprint(
y + 2,
1 + x*7,
bc.color_string(
"${c}%03d: ${G}%s${Z}"%( row )
)
)
print('')