-
Notifications
You must be signed in to change notification settings - Fork 0
/
general.go
40 lines (31 loc) · 1.14 KB
/
general.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package owparser
import (
"strconv"
"strings"
)
// General Data available even if account is private
type General struct {
Private bool `json:"private"`
SR int `json:"rank,omitempty"`
Prestige int `json:"prestige"`
Level string `json:"level"`
Portrait string `json:"portrait"`
}
var prestigeReplacer = strings.NewReplacer("background-image:url(https://d1u1mce87gyfbn.cloudfront.net/game/playerlevelrewards/", "", "_Border.png)", "")
// NewGeneral Get Data available even if account is private
func (c *CareerProfile) NewGeneral() *General {
general := new(General)
permission := c.document.Find(".masthead-permission-level-text").First().Text()
if permission == "Public Profile" {
general.Private = false
} else {
general.Private = true
}
general.SR, _ = strconv.Atoi(c.document.Find(".masthead-player .competitive-rank").First().Text())
level := c.document.Find(".player-level").First()
levelStyle, _ := level.Attr("style")
general.Prestige = Prestige[prestigeReplacer.Replace(levelStyle)]
general.Level = level.Text()
general.Portrait, _ = c.document.Find(".player-portrait").First().Attr("src")
return general
}