#!python import sys with open(sys.argv[1], 'r') as f: lines = [line.rstrip('\n') for line in f] colours = {} colour_lines = True data = [] for i, line in enumerate(lines): linenum = i + 1 if colour_lines and line == '----------': colour_lines = False continue if colour_lines: char = line[0] colour = line[1:] colours[char] = colour elif len(line) != 10: print(f'{sys.argv[0]}: {sys.argv[1]}: line {linenum} is {len(line)} wide, expected 10', file=sys.stderr) sys.exit(1) else: data.append(line) if len(data) != 10: print(f'{sys.argv[0]}: {sys.argv[1]}: {len(data)} lines of data, expected 10', file=sys.stderr) print(f'enum palette {sys.argv[1].rsplit(".", 1)[0]}[] = {{') for line in data: print('\t' + ', '.join(colours[char] for char in line) + ',') print('};')