Exemple #1
0
def main():

    credentials = AuthCredentials(user_file='bot')
    site = EsportsClient('lol', credentials=credentials)
    acs = ACS()

    result = site.cargo_client.query(
        tables='MatchScheduleGame=MSG,AcsMetadata=ACS',
        join_on='MSG.GameId=ACS.GameId',
        fields=
        'MSG.MatchHistory=MatchHistory, MSG.GameId=GameId, MSG.OverviewPage=OverviewPage, MSG.MatchId=MatchId, MSG.N_GameInMatch=N_GameInMatch, MSG._pageName=Page',
        where='MatchHistory LIKE "%matchhistory%" AND ACS.GameId IS NULL')

    passed_startat = True
    startat = 'FRA1TMNT1 210419'

    for game in result:
        if 'gameHash' in game['MatchHistory']:
            re_match = re.match(
                r'^.*match-details/(.+?)/(.+?)\?gameHash=(.+?)(?:&a?m?p?;?tab=.*)?$',
                game['MatchHistory'])
            realm = re_match[1]
            game_id = re_match[2]
            game_hash = re_match[3]
        else:
            re_match = re.match(r'^.*match-details/(.+?)/([^/]*).*$',
                                game['MatchHistory'])
            realm = re_match[1]
            game_id = re_match[2]
            game_hash = None
        fingerprint = '{} {}'.format(realm, game_id)
        if fingerprint == startat:
            passed_startat = True
        if not passed_startat:
            continue
        print('Processing {} now, hash is {}...'.format(
            fingerprint, game_hash))
        try:
            site.save_title(
                'V4 data:{}_{}'.format(realm, game_id),
                json.dumps(acs.get_game(realm, game_id, game_hash)))

        except HTTPError:
            with open('acs_errors.txt', 'a') as f:
                f.write('\n{} {} {}'.format(realm, game_id, game_hash))
            print(game['MatchHistory'])
            print(game['Page'])
            continue
        try:
            site.save_title(
                'V4 data:{}_{}/Timeline'.format(realm, game_id),
                json.dumps(acs.get_game_timeline(realm, game_id, game_hash)))
        except HTTPError:
            print(game['MatchHistory'])
            print(game['Page'])
            pass
        site.save_title('V4 metadata:{}_{}'.format(realm, game_id),
                        get_metadata(game, realm, game_id, game_hash))
Exemple #2
0
            for player in sorted_data["players"][team]:
                player = player[0]
                game_rd_player = self.rosters_data[team]["players"][player]
                if players_data.get(player):
                    player_data = self.concat_args(players_data[player])
                else:
                    player_data = self.concat_args([{"player": player}])
                player_roles_data = self.concat_args(
                    game_rd_player["roles_data"])
                player_games_by_role = self.concat_args(
                    game_rd_player["games_by_role"])
                players_text += self.PLAYER_TEXT.format(
                    player_data, player_roles_data, player_games_by_role)
            teamsvs = self.concat_args(self.rosters_data[team]["teamsvs"])
            output += self.TEAM_TEXT.format(team, teamsvs, players_text)
        return output

    def save_page(self, output):
        username = self.site.credentials.username
        username = username.split('@')[0] if "@" in username else username
        page = self.site.client.pages[f"User:{username}/Team Rosters Sandbox"]
        self.site.save(page=page,
                       text=output,
                       summary="Generating Rosters from Scoreboard Data")


if __name__ == '__main__':
    credentials = AuthCredentials(user_file='bot')
    lol_site = EsportsClient('lol', credentials=credentials)
    AutoRostersRunner(lol_site, "LMF 2022 Opening").run()
Exemple #3
0

def check_results(site: EsportsClient, title):
    title = site.target(title)
    tables = [
        'TournamentResults=TR',
        'TournamentResults__RosterLinks=RL',
        'PlayerRedirects=PR',
        'Players=P',
    ]
    join = [
        'TR._ID=RL._rowID',
        'RL._value=PR.AllName',
        'PR._pageName=P._pageName',
    ]
    result = site.cargo_client.query(
        tables=','.join(tables),
        join_on=','.join(join),
        fields='TR.Team=Team,RL._value=Player',
        where='TR.Team != P.Team AND TR._pageName="Data:{}"'.format(title))
    return result


if __name__ == '__main__':
    credentials = AuthCredentials(user_file="me")
    fn_site = EsportsClient('fortnite-esports', credentials=credentials)
    final_result = check_results(
        fn_site, "Fortnite Champion Series: Chapter 2 Season 4/Heat 3/Europe")
    print(final_result)
    print(len(final_result))
Exemple #4
0
        No personal data is stored in this cog.
        """
        return

    @commands.group()
    async def patchupdate(self, ctx):
        pass

    @patchupdate.command()
    async def championstats(self, ctx, version=None):
        await ctx.send("Okay, starting!")
        site = await utils.login_if_possible(ctx, self.bot, 'lol')
        async with ctx.typing():
            await updatestats(site, "champion", version)
        await ctx.send("Okay, done!")

    @patchupdate.command()
    async def itemstats(self, ctx, version=None):
        await ctx.send("Okay, starting!")
        site = await utils.login_if_possible(ctx, self.bot, 'lol')
        async with ctx.typing():
            await updatestats(site, "item", version)
        await ctx.send("Okay, done!")


if __name__ == "__main__":
    lolsite = EsportsClient('lol', credentials=AuthCredentials(user_file='me'))
    asyncio.run(updatestats(lolsite, "champion"))
    # asyncio.run(updatestats(lolsite, "item"))
Exemple #5
0
from mwrogue.auth_credentials import AuthCredentials
from mwrogue.esports_client import EsportsClient
from mwrogue.wiki_time_parser import time_from_str

credentials = AuthCredentials(user_file='me')

site = EsportsClient('lol', credentials=credentials)

# for ns in site.namespaces:
#     print(ns.name)

assert site.cache.get_disambiguated_player_from_event(
    'European Masters/2021 Season/Spring Play-In', 'G2 Arctic',
    'Koldo') == 'Koldo'

assert site.cache.get_disambiguated_player_from_event(
    'Claro Stars League/2021 Season/Opening Season', 'Luxor Gaming',
    'Zeldris') == 'Zeldris (Christian Ticlavilca)'

assert site.cache.get_disambiguated_player_from_event(
    'El_Nexo/2020_Season/Split_1_Playoffs', 'Movistar Riders Academy',
    'Marky') == 'Marky (Pedro José Serrano)'

# check fallback to Teams.Short
assert site.cache.get_team_from_event_tricode('GUL 2020 Closing Playoffs',
                                              'MK') == 'Mad Kings'

assert site.cache.get_team_from_event_tricode('Worlds 2019 Main Event',
                                              'SKT') == 'SK Telecom T1'

assert site.cache.get_disambiguated_player_from_event(