import os class Question(object): def __init__(self, path): self.path = path self.name = '' self.size = (0, 0) self.block_num = 0 self.status = 'Ready' self._load_question(path) @property def size_str(self): return f'{self.size[0]}X{self.size[1]}' def _load_question(self, path): with open(path, 'r') as fp: q_lines = fp.readlines() board_size = [0, 0] block_num = 0 for _l in q_lines: if "SIZE" in _l: board_size_str = _l.strip().split()[1] board_size = [int(v) for v in board_size_str.split('X')] if 'BLOCK_NUM' in _l: block_num = int(_l.strip().split()[1]) name = os.path.splitext(os.path.basename(path))[0] self.size = board_size self.block_num = block_num self.name = name self.status = 'Ready'