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"
示例#2
0
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
示例#4
0
    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
示例#5
0
    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
示例#6
0
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'