""" hiscores.hiscores - high socres: loading, saving, converting to string """ import os from pathlib import Path from .static import INITIAL_HIGHSCORES, MAX_HIGHSCORES class HiScores: """ Keeps track of high scores """ def __init__(self, filename = None): """ On creation load high scores from config file """ self.table=[] if filename: self.config_filename = filename else: if os.name == 'nt': self.config_filename = (Path.home().resolve() .joinpath('sliceitoff.cfg')) else: self.config_filename = (Path.home().resolve() .joinpath('.config').joinpath('sliceitoffrc')) if not self.config_filename.is_file(): self.table=INITIAL_HIGHSCORES[:] return with open(self.config_filename, "r", encoding="utf-8") as config_file: for line in config_file: option, *value = line.split('=') if option == 'hiscore' and value: score, name = value[0].split('!') self.add(int(score.strip()),name.strip()) if len(self.table)