25 lines
663 B
Python

# similar to spritesheet/gfx.py
from parse.generic import tokenize
from parse.generic.flatten import flatten
def tokenize_lines(lines):
for line in lines:
if '::' in line:
yield tokenize.block(line, delim='::')
def parse(prefix):
path = prefix / 'gfx/pics.asm'
with open(path) as f:
tokens = tokenize_lines(f.read().split('\n'))
l = list(flatten(tokens,
endings=['Front', 'Back', 'Pic'],
base_path='gfx/'))
d = dict(l)
assert len(l) == len(d)
return d
from pprint import pprint
from pathlib import Path
pprint(parse(Path("../pokered")))