33 lines
795 B
Python
Executable file
33 lines
795 B
Python
Executable file
#!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('};')
|