import re
import sys
import html

map = 'αβγδεζηθικ\u25FEλμνξπρστυφχψωΓΔΘΛΞΠΣΦ\u2e31!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ψ'
map = [html.escape(c) for c in map]
map = [f'{c}' for c in map] + [f'<b>{c}</b>' for c in map]
pad = ' ' * 32

with open('template.html', 'r') as f:
  joined = f.read()

for file in sorted(sys.argv[1:]):
  try:
    print(f'\r{file}' + pad, end='', flush=True)
    with open(file, 'rb') as f:
      processed = ''.join(map[c] for c in f.read())
      # uncomment to output `0x0A` as a newline
      # processed = re.sub(r'(\u25FE+)', r'\1\n', processed)
      # processed = re.sub(r'\n$', r'', processed)
      processed = re.sub(r'</b><b>', r'', processed)
      joined += f'{file}\n{processed}\n\n'
  except IOError:
    pass

with open('convert.html', 'w') as f:
  f.write(joined)

print('\rDone' + pad)
