Skip to content

Commit 30cb2f7

Browse files
feat: add tibia_urls field into information-section (#398)
Co-authored-by: Tobias Lindberg <tobias.ehlert@gmail.com>
1 parent b59bc38 commit 30cb2f7

35 files changed

+177
-107
lines changed

src/TibiaBoostableBossesOverview.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ type BoostableBossesOverviewResponse struct {
2727
Information Information `json:"information"`
2828
}
2929

30-
func TibiaBoostableBossesOverviewImpl(BoxContentHTML string) (BoostableBossesOverviewResponse, error) {
30+
func TibiaBoostableBossesOverviewImpl(BoxContentHTML string, url string) (BoostableBossesOverviewResponse, error) {
3131
const (
3232
bodyIndexer = `<body`
3333
endBodyIndexer = `</body>`
@@ -151,6 +151,7 @@ func TibiaBoostableBossesOverviewImpl(BoxContentHTML string) (BoostableBossesOve
151151
Information{
152152
APIDetails: TibiaDataAPIDetails,
153153
Timestamp: TibiaDataDatetime(""),
154+
TibiaURLs: []string{url},
154155
Status: Status{
155156
HTTPCode: http.StatusOK,
156157
},

src/TibiaBoostableBossesOverview_test.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,13 @@ func TestBoostableBossesOverview(t *testing.T) {
2020
t.Fatalf("File reading error: %s", err)
2121
}
2222

23-
boostableBossesJson, _ := TibiaBoostableBossesOverviewImpl(string(data))
23+
boostableBossesJson, _ := TibiaBoostableBossesOverviewImpl(string(data), "https://www.tibia.com/library/?subtopic=boostablebosses")
2424
assert := assert.New(t)
2525
boosted := boostableBossesJson.BoostableBosses.Boosted
2626
bosses := boostableBossesJson.BoostableBosses.BoostableBosses
27+
information := boostableBossesJson.Information
2728

29+
assert.Equal("https://www.tibia.com/library/?subtopic=boostablebosses", information.TibiaURLs[0])
2830
assert.Equal(95, len(bosses))
2931
assert.Equal("Ragiaz", boosted.Name)
3032
assert.Equal(
@@ -107,6 +109,6 @@ func BenchmarkTibiaBoostableBossesOverviewImpl(b *testing.B) {
107109
b.ResetTimer()
108110

109111
for i := 0; i < b.N; i++ {
110-
bossSink, _ = TibiaBoostableBossesOverviewImpl(data)
112+
bossSink, _ = TibiaBoostableBossesOverviewImpl(data, "https://www.tibia.com/library/?subtopic=boostablebosses")
111113
}
112114
}

src/TibiaCharactersCharacter.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ type CharacterResponse struct {
124124
const Br = 0x202
125125

126126
// TibiaCharactersCharacter func
127-
func TibiaCharactersCharacterImpl(BoxContentHTML string) (CharacterResponse, error) {
127+
func TibiaCharactersCharacterImpl(BoxContentHTML string, url string) (CharacterResponse, error) {
128128
var (
129129
// local strings used in this function
130130
localDivQueryString = ".TableContentContainer tr"
@@ -725,6 +725,7 @@ func TibiaCharactersCharacterImpl(BoxContentHTML string) (CharacterResponse, err
725725
Information{
726726
APIDetails: TibiaDataAPIDetails,
727727
Timestamp: TibiaDataDatetime(""),
728+
TibiaURLs: []string{url},
728729
Status: Status{
729730
HTTPCode: http.StatusOK,
730731
},

src/TibiaCharactersCharacter_test.go

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,14 @@ func TestNumber1(t *testing.T) {
2626
t.Fatalf("File reading error: %s", err)
2727
}
2828

29-
characterJson, err := TibiaCharactersCharacterImpl(string(data))
29+
characterJson, err := TibiaCharactersCharacterImpl(string(data), "https://www.tibia.com/community/?subtopic=characters&name=Darkside+Rafa")
3030
if err != nil {
3131
t.Fatal(err)
3232
}
3333

3434
assert := assert.New(t)
3535
character := characterJson.Character.CharacterInfo
36+
information := characterJson.Information
3637

3738
assert.Equal("Darkside Rafa", character.Name)
3839
assert.Nil(character.FormerNames)
@@ -54,6 +55,8 @@ func TestNumber1(t *testing.T) {
5455
assert.Equal("2022-01-05T21:23:32Z", character.LastLogin)
5556
assert.Equal("Premium Account", character.AccountStatus)
5657
assert.Empty(character.Comment)
58+
59+
assert.Equal("https://www.tibia.com/community/?subtopic=characters&name=Darkside+Rafa", information.TibiaURLs[0])
5760
}
5861

5962
func TestNumber2(t *testing.T) {
@@ -68,7 +71,7 @@ func TestNumber2(t *testing.T) {
6871
t.Fatalf("File reading error: %s", err)
6972
}
7073

71-
characterJson, err := TibiaCharactersCharacterImpl(string(data))
74+
characterJson, err := TibiaCharactersCharacterImpl(string(data), "")
7275
if err != nil {
7376
t.Fatal(err)
7477
}
@@ -134,7 +137,7 @@ func TestNumber3(t *testing.T) {
134137
t.Fatalf("File reading error: %s", err)
135138
}
136139

137-
characterJson, err := TibiaCharactersCharacterImpl(string(data))
140+
characterJson, err := TibiaCharactersCharacterImpl(string(data), "")
138141
if err != nil {
139142
t.Fatal(err)
140143
}
@@ -169,7 +172,7 @@ func TestNumber4(t *testing.T) {
169172
t.Fatalf("File reading error: %s", err)
170173
}
171174

172-
characterJson, err := TibiaCharactersCharacterImpl(string(data))
175+
characterJson, err := TibiaCharactersCharacterImpl(string(data), "")
173176
if err != nil {
174177
t.Fatal(err)
175178
}
@@ -2784,7 +2787,7 @@ func TestNumber5(t *testing.T) {
27842787
t.Fatalf("File reading error: %s", err)
27852788
}
27862789

2787-
characterJson, err := TibiaCharactersCharacterImpl(string(data))
2790+
characterJson, err := TibiaCharactersCharacterImpl(string(data), "")
27882791
if err != nil {
27892792
t.Fatal(err)
27902793
}
@@ -2838,7 +2841,7 @@ func TestNumber6(t *testing.T) {
28382841
t.Fatalf("File reading error: %s", err)
28392842
}
28402843

2841-
characterJson, err := TibiaCharactersCharacterImpl(string(data))
2844+
characterJson, err := TibiaCharactersCharacterImpl(string(data), "")
28422845
if err != nil {
28432846
t.Fatal(err)
28442847
}
@@ -2888,7 +2891,7 @@ func TestNumber7(t *testing.T) {
28882891
t.Fatalf("File reading error: %s", err)
28892892
}
28902893

2891-
characterJson, err := TibiaCharactersCharacterImpl(string(data))
2894+
characterJson, err := TibiaCharactersCharacterImpl(string(data), "")
28922895
if err != nil {
28932896
t.Fatal(err)
28942897
}
@@ -2913,7 +2916,7 @@ func TestNumber8(t *testing.T) {
29132916
t.Fatalf("File reading error: %s", err)
29142917
}
29152918

2916-
characterJson, err := TibiaCharactersCharacterImpl(string(data))
2919+
characterJson, err := TibiaCharactersCharacterImpl(string(data), "")
29172920
if err != nil {
29182921
t.Fatal(err)
29192922
}
@@ -3073,7 +3076,7 @@ func TestNumber9(t *testing.T) {
30733076
t.Fatalf("File reading error: %s", err)
30743077
}
30753078

3076-
characterJson, err := TibiaCharactersCharacterImpl(string(data))
3079+
characterJson, err := TibiaCharactersCharacterImpl(string(data), "")
30773080
if err != nil {
30783081
t.Fatal(err)
30793082
}
@@ -3175,7 +3178,7 @@ func TestNumber10(t *testing.T) {
31753178
t.Fatalf("File reading error: %s", err)
31763179
}
31773180

3178-
characterJson, err := TibiaCharactersCharacterImpl(string(data))
3181+
characterJson, err := TibiaCharactersCharacterImpl(string(data), "")
31793182
if err != nil {
31803183
t.Fatal(err)
31813184
}
@@ -3204,7 +3207,7 @@ func TestNumber11(t *testing.T) {
32043207
t.Fatalf("File reading error: %s", err)
32053208
}
32063209

3207-
characterJson, err := TibiaCharactersCharacterImpl(string(data))
3210+
characterJson, err := TibiaCharactersCharacterImpl(string(data), "")
32083211
if err != nil {
32093212
t.Fatal(err)
32103213
}
@@ -3285,7 +3288,7 @@ func TestNumber12(t *testing.T) {
32853288
t.Fatalf("File reading error: %s", err)
32863289
}
32873290

3288-
characterJson, err := TibiaCharactersCharacterImpl(string(data))
3291+
characterJson, err := TibiaCharactersCharacterImpl(string(data), "")
32893292
if err != nil {
32903293
t.Fatal(err)
32913294
}
@@ -3310,7 +3313,7 @@ func TestNumber13(t *testing.T) {
33103313
t.Fatalf("File reading error: %s", err)
33113314
}
33123315

3313-
characterJson, err := TibiaCharactersCharacterImpl(string(data))
3316+
characterJson, err := TibiaCharactersCharacterImpl(string(data), "")
33143317
if err != nil {
33153318
t.Fatal(err)
33163319
}
@@ -3401,7 +3404,7 @@ func BenchmarkNumber1(b *testing.B) {
34013404
b.ReportAllocs()
34023405

34033406
for i := 0; i < b.N; i++ {
3404-
characterJson, _ := TibiaCharactersCharacterImpl(string(data))
3407+
characterJson, _ := TibiaCharactersCharacterImpl(string(data), "")
34053408

34063409
assert.Equal(b, "Darkside Rafa", characterJson.Character.CharacterInfo.Name)
34073410
}
@@ -3422,7 +3425,7 @@ func BenchmarkNumber2(b *testing.B) {
34223425
b.ReportAllocs()
34233426

34243427
for i := 0; i < b.N; i++ {
3425-
characterJson, _ := TibiaCharactersCharacterImpl(string(data))
3428+
characterJson, _ := TibiaCharactersCharacterImpl(string(data), "")
34263429

34273430
assert.Equal(b, "Riley No Hands", characterJson.Character.CharacterInfo.Name)
34283431
}

src/TibiaCreaturesCreature.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@ var (
5252
CreatureLootRegex = regexp.MustCompile(`.*yield (.*) experience.*carry (.*)with them.`)
5353
)
5454

55-
func TibiaCreaturesCreatureImpl(race string, BoxContentHTML string) (CreatureResponse, error) {
55+
func TibiaCreaturesCreatureImpl(race string, BoxContentHTML string, url string) (CreatureResponse, error) {
5656
// local strings used in this function
57-
var localDamageString = " damage"
57+
localDamageString := " damage"
5858

5959
// Loading HTML data into ReaderHTML for goquery with NewReader
6060
ReaderHTML, err := goquery.NewDocumentFromReader(strings.NewReader(BoxContentHTML))
@@ -79,7 +79,7 @@ func TibiaCreaturesCreatureImpl(race string, BoxContentHTML string) (CreatureRes
7979
CreatureBeParalysed, CreatureBeSummoned, CreatureBeConvinced, CreatureSeeInvisible, CreatureIsLootable, CreatureIsBoosted bool
8080
)
8181

82-
//Find boosted creature
82+
// Find boosted creature
8383
boostedMonsterTitle, boostedCreatureFound := ReaderHTML.Find("#Monster").First().Attr("title")
8484

8585
if boostedCreatureFound {
@@ -192,6 +192,7 @@ func TibiaCreaturesCreatureImpl(race string, BoxContentHTML string) (CreatureRes
192192
Information{
193193
APIDetails: TibiaDataAPIDetails,
194194
Timestamp: TibiaDataDatetime(""),
195+
TibiaURLs: []string{url},
195196
Status: Status{
196197
HTTPCode: http.StatusOK,
197198
},

src/TibiaCreaturesCreature_test.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,15 @@ func TestDemon(t *testing.T) {
2020
t.Fatalf("File reading error: %s", err)
2121
}
2222

23-
demonJson, err := TibiaCreaturesCreatureImpl("Demon", string(data))
23+
demonJson, err := TibiaCreaturesCreatureImpl("Demon", string(data), "https://www.tibia.com/library/?subtopic=creatures&race=demon")
2424
if err != nil {
2525
t.Fatal(err)
2626
}
2727

2828
assert := assert.New(t)
29+
information := demonJson.Information
2930

31+
assert.Equal("https://www.tibia.com/library/?subtopic=creatures&race=demon", information.TibiaURLs[0])
3032
assert.Equal("Demons", demonJson.Creature.Name)
3133
assert.Equal("Demon", demonJson.Creature.Race)
3234
assert.Equal("https://static.tibia.com/images/library/demon.gif", demonJson.Creature.ImageURL)
@@ -76,7 +78,7 @@ func TestQuaraPredatorFeatured(t *testing.T) {
7678
t.Fatalf("File reading error: %s", err)
7779
}
7880

79-
quaraPredatorJson, err := TibiaCreaturesCreatureImpl("Quara Predator", string(data))
81+
quaraPredatorJson, err := TibiaCreaturesCreatureImpl("Quara Predator", string(data), "")
8082
if err != nil {
8183
t.Fatal(err)
8284
}
@@ -128,7 +130,7 @@ func TestCentipede(t *testing.T) {
128130
t.Fatalf("File reading error: %s", err)
129131
}
130132

131-
centipedeJson, _ := TibiaCreaturesCreatureImpl("Centipede", string(data))
133+
centipedeJson, _ := TibiaCreaturesCreatureImpl("Centipede", string(data), "")
132134
assert := assert.New(t)
133135

134136
assert.Equal("Centipedes", centipedeJson.Creature.Name)
@@ -152,7 +154,7 @@ func TestHunter(t *testing.T) {
152154
t.Fatalf("File reading error: %s", err)
153155
}
154156

155-
hunterJson, _ := TibiaCreaturesCreatureImpl("Hunter", string(data))
157+
hunterJson, _ := TibiaCreaturesCreatureImpl("Hunter", string(data), "")
156158
assert := assert.New(t)
157159

158160
assert.Equal("Hunters", hunterJson.Creature.Name)
@@ -176,7 +178,7 @@ func TestSkunk(t *testing.T) {
176178
t.Fatalf("File reading error: %s", err)
177179
}
178180

179-
skunkJson, _ := TibiaCreaturesCreatureImpl("Skunk", string(data))
181+
skunkJson, _ := TibiaCreaturesCreatureImpl("Skunk", string(data), "")
180182
assert := assert.New(t)
181183

182184
assert.Equal("Skunks", skunkJson.Creature.Name)
@@ -200,7 +202,7 @@ func TestLavaLurkers(t *testing.T) {
200202
t.Fatalf("File reading error: %s", err)
201203
}
202204

203-
lavalurkersJson, _ := TibiaCreaturesCreatureImpl("Lava Lurkers", string(data))
205+
lavalurkersJson, _ := TibiaCreaturesCreatureImpl("Lava Lurkers", string(data), "")
204206
assert := assert.New(t)
205207

206208
assert.Equal("Lava Lurkers", lavalurkersJson.Creature.Name)

src/TibiaCreaturesOverview.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,8 @@ var (
3535
CreatureInformationRegex = regexp.MustCompile(`.*race=(.*)"><img src="(.*)" border.*div>(.*)<\/div>`)
3636
)
3737

38-
func TibiaCreaturesOverviewImpl(BoxContentHTML string) (CreaturesOverviewResponse, error) {
39-
var (
40-
BoostedCreatureName, BoostedCreatureRace, BoostedCreatureImage string
41-
)
38+
func TibiaCreaturesOverviewImpl(BoxContentHTML string, url string) (CreaturesOverviewResponse, error) {
39+
var BoostedCreatureName, BoostedCreatureRace, BoostedCreatureImage string
4240

4341
// Loading HTML data into ReaderHTML for goquery with NewReader
4442
ReaderHTML, err := goquery.NewDocumentFromReader(strings.NewReader(BoxContentHTML))
@@ -127,6 +125,7 @@ func TibiaCreaturesOverviewImpl(BoxContentHTML string) (CreaturesOverviewRespons
127125
Information{
128126
APIDetails: TibiaDataAPIDetails,
129127
Timestamp: TibiaDataDatetime(""),
128+
TibiaURLs: []string{url},
130129
Status: Status{
131130
HTTPCode: http.StatusOK,
132131
},

src/TibiaCreaturesOverview_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,15 @@ func TestOverview(t *testing.T) {
2020
t.Fatalf("File reading error: %s", err)
2121
}
2222

23-
creaturesJson, err := TibiaCreaturesOverviewImpl(string(data))
23+
creaturesJson, err := TibiaCreaturesOverviewImpl(string(data), "https://www.tibia.com/library/?subtopic=creatures")
2424
if err != nil {
2525
t.Fatal(err)
2626
}
2727

2828
assert := assert.New(t)
29+
information := creaturesJson.Information
2930

31+
assert.Equal("https://www.tibia.com/library/?subtopic=creatures", information.TibiaURLs[0])
3032
assert.Equal("Minotaur Amazon", creaturesJson.Creatures.Boosted.Name)
3133
assert.Equal("minotauramazon", creaturesJson.Creatures.Boosted.Race)
3234
assert.Equal("https://static.tibia.com/images/global/header/monsters/minotauramazon.gif", creaturesJson.Creatures.Boosted.ImageURL)

src/TibiaFansites.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ var (
6161
FansiteAnchorRegex = regexp.MustCompile(`.*src="(.*)" alt=".*`)
6262
)
6363

64-
func TibiaFansitesImpl(BoxContentHTML string) (FansitesResponse, error) {
64+
func TibiaFansitesImpl(BoxContentHTML string, url string) (FansitesResponse, error) {
6565
// Loading HTML data into ReaderHTML for goquery with NewReader
6666
ReaderHTML, err := goquery.NewDocumentFromReader(strings.NewReader(BoxContentHTML))
6767
if err != nil {
@@ -97,6 +97,7 @@ func TibiaFansitesImpl(BoxContentHTML string) (FansitesResponse, error) {
9797
Information{
9898
APIDetails: TibiaDataAPIDetails,
9999
Timestamp: TibiaDataDatetime(""),
100+
TibiaURLs: []string{url},
100101
Status: Status{
101102
HTTPCode: http.StatusOK,
102103
},

src/TibiaFansites_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ func TestFansites(t *testing.T) {
2020
t.Fatalf("File reading error: %s", err)
2121
}
2222

23-
fansitesJson, err := TibiaFansitesImpl(string(data))
23+
fansitesJson, err := TibiaFansitesImpl(string(data), "https://www.tibia.com/community/?subtopic=fansites")
2424
if err != nil {
2525
t.Fatal(err)
2626
}
@@ -86,4 +86,7 @@ func TestFansites(t *testing.T) {
8686
assert.Equal("Upload, browse, like and share pictures.", tibiaGalleryFansite.Specials[0])
8787
assert.True(tibiaGalleryFansite.FansiteItem)
8888
assert.Equal("https://static.tibia.com/images/community/fansiteitems/TibiaGallery.com.gif", tibiaGalleryFansite.FansiteItemURL)
89+
90+
information := fansitesJson.Information
91+
assert.Equal("https://www.tibia.com/community/?subtopic=fansites", information.TibiaURLs[0])
8992
}

0 commit comments

Comments
 (0)