def test_config_parser_decode_installed(): parser = ConfigParser(None) games = parser.decode({ "s1": { "ServerUid": "s1", "Resumable": "false" } }) assert games[0].uid == "s1" assert games[0].uninstall_tag == "s1"
def test_config_parser(config_data): parser = ConfigParser(config_data) assert parser.locale_language == 'plPL' assert parser.region == 'US' assert ConfigGameInfo('diablo3', 'diablo3_plpl', None) in parser.games assert ConfigGameInfo('heroes', None, '1441712029') in parser.games assert ConfigGameInfo('wow', 'wow_enus', None) in parser.games
def __init__(self, update_statuses): self._update_statuses = update_statuses self._process_provider = ProcessProvider() self._process = None self._exe = self._find_exe() self._games_provider = LocalGames() self.database_parser = None self.config_parser = ConfigParser(None) self.uninstaller = None self.installed_games_cache = self.get_installed_games() self.classic_games_parsing_task = None
def __init__(self, update_statuses): self._update_statuses = update_statuses self._process_provider = ProcessProvider() self._process = None self._exe = self._find_exe() self._games_provider = LocalGames() self.database_parser = None self.config_parser = ConfigParser(None) self.uninstaller = None self.installed_games_cache = self.get_installed_games() loop = asyncio.get_event_loop() loop.create_task(self._register_local_data_watcher()) loop.create_task(self._register_classic_games_updater()) self.classic_games_parsing_task = None
def _load_local_files(self): try: product_db = load_product_db(self.PRODUCT_DB_PATH) self.database_parser = DatabaseParser(product_db) except FileNotFoundError as e: log.warning(f"product.db not found: {repr(e)}") return False except WindowsError as e: # 5 WindowsError access denied if e.winerror == 5: log.warning(f"product.db not accessible: {repr(e)}") self.config_parser = ConfigParser(None) return False else: raise () except OSError as e: if e.errno == errno.EACCES: log.warning(f"product.db not accessible: {repr(e)}") self.config_parser = ConfigParser(None) return False else: raise () else: if self.is_installed != self.database_parser.battlenet_present: self.refresh() try: config = load_config(self.CONFIG_PATH) self.config_parser = ConfigParser(config) except FileNotFoundError as e: log.warning(f"config file not found: {repr(e)}") self.config_parser = ConfigParser(None) return False except WindowsError as e: # 5 WindowsError access denied if e.winerror == 5: log.warning(f"config file not accessible: {repr(e)}") self.config_parser = ConfigParser(None) return False else: raise () except OSError as e: if e.errno == errno.EACCES: log.warning(f"config file not accessible: {repr(e)}") self.config_parser = ConfigParser(None) return False else: raise () return True
def test_config_parser_decode_last_played(): parser = ConfigParser(None) games = parser.decode({"s2": {"LastPlayed": "1552039613"}}) assert games[0].uid == "s2" assert games[0].uninstall_tag == None assert games[0].last_played == '1552039613'