Exemplo n.º 1
0
    def start(self):
        while (True):
            teamsList = self.loadTeams()
            team_id_list = self.genereateTeamIDList(teamsList)

            try:
                currentRelevantGames = self.getRelevantLiveLeagueGames(
                    team_id_list)
            except ApiException:
                currentRelevantGames = self.oldRelevantGames

            new_finished_games = self.findFinishedGames(
                self.oldRelevantGames, currentRelevantGames)
            if len(new_finished_games) > 0:
                self.finishedGames.extend(new_finished_games)

            # process matches
            match_processor = MatchProcessor()
            processed_matches = []
            to_remove_finished_games = [
            ]  # games not up after 2hrs, can remove
            for obj in self.finishedGames:
                if obj["countdown"] <= 0:
                    match_details_obj = self.api_wrapper.getMatchDetails(
                        obj["match_id"])
                    if match_details_obj.isEmpty():
                        # match data is not available yet
                        obj["age"] = (obj["age"] + 1)
                        if obj["age"] > 60:
                            to_remove_finished_games.append(obj)
                        obj["countdown"] = int(
                            self.configMap["match_parser_countdown"])
                        continue
                    match_processor.process(match_details_obj)
                    processed_matches.append(obj)

            # delete finished games older than 2hrs
            for obj in to_remove_finished_games:
                HelperTools.log("gave up on match " + obj["match_id"])
                self.finishedGames.remove(obj)

            # delete all parsed matches from finishedGames list
            for game in processed_matches:
                self.finishedGames.remove(game)

            # iterate cooldowns of finished gamess
            for obj in self.finishedGames:
                countdown = obj["countdown"]
                obj["countdown"] = countdown - int(
                    self.configMap["crawler_sleep_time"])

            for hook in self.hooks:
                hook.update()

            if self.stopBool:
                HelperTools.log("stop message received")
                break

            time.sleep(int(self.configMap["crawler_sleep_time"]))
Exemplo n.º 2
0
 def test_loadLocalPlayer(self, MockHelperTools):
     players_test_dir = os.path.join(HelperTools.getParentDir(__file__),
                                     "res", "players_test")
     MockHelperTools.getPlayersDir = MagicMock(
         return_value=players_test_dir)
     mp = MatchProcessor()
     local_player_obj = mp.loadLocalPlayer("21232132")
     self.assertEquals(local_player_obj.getPlayerID(), 21232132)
Exemplo n.º 3
0
    def start(self):
        while(True):
            teamsList = self.loadTeams()
            team_id_list = self.genereateTeamIDList(teamsList)

            try:
                currentRelevantGames = self.getRelevantLiveLeagueGames(team_id_list)
            except ApiException:
                currentRelevantGames = self.oldRelevantGames

            new_finished_games = self.findFinishedGames(self.oldRelevantGames, currentRelevantGames)
            if len(new_finished_games) > 0:
                self.finishedGames.extend(new_finished_games)

            # process matches
            match_processor = MatchProcessor()
            processed_matches = []
            to_remove_finished_games = []  # games not up after 2hrs, can remove
            for obj in self.finishedGames:
                if obj["countdown"] <= 0:
                    match_details_obj = self.api_wrapper.getMatchDetails(obj["match_id"])
                    if match_details_obj.isEmpty():
                        # match data is not available yet
                        obj["age"] = (obj["age"] + 1)
                        if obj["age"] > 60:
                            to_remove_finished_games.append(obj)
                        obj["countdown"] = int(self.configMap["match_parser_countdown"])
                        continue
                    match_processor.process(match_details_obj)
                    processed_matches.append(obj)

            # delete finished games older than 2hrs
            for obj in to_remove_finished_games:
                HelperTools.log("gave up on match " + obj["match_id"])
                self.finishedGames.remove(obj)

            # delete all parsed matches from finishedGames list
            for game in processed_matches:
                self.finishedGames.remove(game)

            # iterate cooldowns of finished gamess
            for obj in self.finishedGames:
                countdown = obj["countdown"]
                obj["countdown"] = countdown - int(self.configMap["crawler_sleep_time"])

            for hook in self.hooks:
                hook.update()

            if self.stopBool:
                HelperTools.log("stop message received")
                break

            time.sleep(int(self.configMap["crawler_sleep_time"]))
Exemplo n.º 4
0
 def test_loadLocalPlayer(self, MockHelperTools):
     players_test_dir = os.path.join(HelperTools.getParentDir(__file__), "res",  "players_test")
     MockHelperTools.getPlayersDir = MagicMock(return_value=players_test_dir)
     mp = MatchProcessor()
     local_player_obj = mp.loadLocalPlayer("21232132")
     self.assertEquals(local_player_obj.getPlayerID(), 21232132)