ascii printer

This commit is contained in:
q
2018-10-21 22:06:22 +03:00
parent fad5ce7df9
commit 3ba19d223a
2 changed files with 39 additions and 0 deletions

1
bin/ascii-codes Symbolic link
View File

@@ -0,0 +1 @@
../reporting/ascii-codes.py

38
reporting/ascii-codes.py Executable file
View File

@@ -0,0 +1,38 @@
#!/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('')