internal async Task <Player> Parse(Player player, ProfileClient.ProfileRequestData pageData) { using (var doc = await _parser.ParseAsync(pageData.ReqContent)) { player.ProfileUrl = pageData.ReqUrl; player.CompetitiveRank = CompetitiveRank(doc); player.CompetitiveRankImageUrl = CompetitiveRankImage(doc); player.PlayerLevel = PlayerLevel(doc); player.ProfilePortraitUrl = PortraitImage(doc); player.PlayerLevelImage = PlayerLevelImage(doc); player.Platform = pageData.PlayerPlatform; player.EndorsementLevel = EndorsementLevel(doc); player.Endorsements = Endorsements(doc); player.PlayerId = PlayerId(doc); player.Aliases = Aliases(doc); if (IsPlayerProfilePrivate(doc)) { player.IsProfilePrivate = true; return(player); } player.CompetitiveStats = Stats(doc, Mode.Competitive); player.CasualStats = Stats(doc, Mode.Casual); player.Achievements = Achievements(doc); return(player); } }
static ProfileParserTest() { var source = File.ReadAllText("TestSource.txt"); var data = new ProfileClient.ProfileRequestData("", source, Platform.Pc); var parser = new ProfileParser(); _testPlayer = new Player(); parser.Parse(_testPlayer, data).GetAwaiter().GetResult(); }
public ProfileParserTest(ITestOutputHelper testOutputHelper) { _testOutputHelper = testOutputHelper; var source = File.ReadAllText("TestSource.txt"); //var searchSource = File.ReadAllText("SearchTestSource.txt"); var data = new ProfileClient.ProfileRequestData("", source, Platform.Pc); var parser = new ProfileParser(); _testPlayer = new Player(); parser.Parse(_testPlayer, data).GetAwaiter().GetResult(); }
internal async Task <Player> Parse(Player player, ProfileClient.ProfileRequestData pageData) { using (var doc = await _parser.ParseDocumentAsync(pageData.ReqContent)) { //Checks if profile not found, site still returns 200 in this case if (doc.QuerySelector("h1.u-align-center")?.FirstChild?.TextContent.Equals("Profile Not Found") ?? false) { return(null); } //Get user id from script at page player.PlayerId = PlayerId(doc); return(player.Validate()); } }
internal static bool IsValidPlayerProfile(ProfileClient.ProfileRequestData pageData) { return(!pageData.ReqContent.Contains("Profile Not Found")); }