Skip to content

Commit 670f838

Browse files
authored
fix encoding of apostrophes in multiple places (#106)
change TibiaDataSanitizeNbspSpaceString to TibiaDataSanitizeStrings running TibiaDataSanitizeEscapedString in TibiaDataSanitizeStrings fix #103
1 parent ccd7fa4 commit 670f838

File tree

7 files changed

+24
-19
lines changed

7 files changed

+24
-19
lines changed

src/TibiaCharactersCharacterV3.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ func TibiaCharactersCharacterV3Impl(BoxContentHTML string) CharacterResponse {
167167
RowName := RowNameQuery.Nodes[0].FirstChild.Data
168168
RowData := RowNameQuery.Nodes[0].NextSibling.FirstChild.Data
169169

170-
switch TibiaDataSanitizeNbspSpaceString(RowName) {
170+
switch TibiaDataSanitizeStrings(RowName) {
171171
case "Name:":
172172
Tmp := strings.Split(RowData, "<")
173173
CharacterInformationData.Name = strings.TrimSpace(Tmp[0])
@@ -224,7 +224,7 @@ func TibiaCharactersCharacterV3Impl(BoxContentHTML string) CharacterResponse {
224224
CharacterInformationData.Guild.Rank = RowData
225225

226226
//TODO: I don't understand why the unicode nbsp is there...
227-
CharacterInformationData.Guild.GuildName = TibiaDataSanitizeNbspSpaceString(RowNameQuery.Nodes[0].NextSibling.LastChild.LastChild.Data)
227+
CharacterInformationData.Guild.GuildName = TibiaDataSanitizeStrings(RowNameQuery.Nodes[0].NextSibling.LastChild.LastChild.Data)
228228
case "Last Login:":
229229
if RowData != "never logged in" {
230230
CharacterInformationData.LastLogin = TibiaDataDatetimeV3(RowData)
@@ -330,8 +330,8 @@ func TibiaCharactersCharacterV3Impl(BoxContentHTML string) CharacterResponse {
330330
DeathKillers := []Killers{}
331331
DeathAssists := []Killers{}
332332

333-
// store for reply later on.. and replacing \u00A0 with normal space
334-
ReasonString := TibiaDataSanitizeNbspSpaceString(RemoveHtmlTag(subma1[0][2] + " at Level " + subma1[0][3] + " by " + subma1[0][4] + "."))
333+
// store for reply later on.. and sanitizing string
334+
ReasonString := TibiaDataSanitizeStrings(RemoveHtmlTag(subma1[0][2] + " at Level " + subma1[0][3] + " by " + subma1[0][4] + "."))
335335

336336
// if kill is with assist..
337337
if strings.Contains(subma1[0][4], ". Assisted by ") {
@@ -441,7 +441,7 @@ func TibiaCharactersCharacterV3Impl(BoxContentHTML string) CharacterResponse {
441441

442442
// Create the character and append it to the other characters list
443443
OtherCharactersData = append(OtherCharactersData, OtherCharacters{
444-
Name: TmpCharacterName,
444+
Name: TibiaDataSanitizeStrings(TmpCharacterName),
445445
World: subma1[0][2],
446446
Status: TmpStatus,
447447
Deleted: TmpDeleted,
@@ -501,8 +501,8 @@ func TibiaDataParseKiller(data string) (string, bool, bool, string) {
501501
data = rs[0][2]
502502
}
503503

504-
// replacing \u00A0 with normal space
505-
data = TibiaDataSanitizeNbspSpaceString(data)
504+
// sanitizing string
505+
data = TibiaDataSanitizeStrings(data)
506506

507507
return data, isPlayer, isTraded, theSummon
508508
}

src/TibiaDataUtils.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ func TibiaDataQueryEscapeStringV3(data string) string {
9595
// TibiaDataDateV3 func
9696
func TibiaDataDateV3(date string) string {
9797
// removing weird spacing and comma
98-
date = TibiaDataSanitizeNbspSpaceString(strings.ReplaceAll(date, ",", ""))
98+
date = TibiaDataSanitizeStrings(strings.ReplaceAll(date, ",", ""))
9999

100100
// var time parser
101101
var tmpDate time.Time
@@ -169,9 +169,14 @@ func TibiaDataSanitizeDoubleQuoteString(data string) string {
169169
return strings.ReplaceAll(data, "\"", "'")
170170
}
171171

172-
// TibiaDataSanitizeNbspSpaceString func - replaces weird \u00A0 string to real space
173-
func TibiaDataSanitizeNbspSpaceString(data string) string {
174-
return strings.ReplaceAll(data, "\u00A0", " ")
172+
// TibiaDataSanitizeStrings func - replacing various encoded strings to pure html
173+
func TibiaDataSanitizeStrings(data string) string {
174+
// replaces weird \u00A0 string to real space
175+
data = strings.ReplaceAll(data, "\u00A0", " ")
176+
// replaces weird \u0026 string to amp (&)
177+
data = strings.ReplaceAll(data, "\u0026", "&")
178+
// returning string unescaped
179+
return TibiaDataSanitizeEscapedString(data)
175180
}
176181

177182
// isEnvExist func - check if environment var is set

src/TibiaGuildsGuildV3.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ func TibiaGuildsGuildV3Impl(guild string, BoxContentHTML string) GuildResponse {
213213
}
214214

215215
MembersData = append(MembersData, GuildMember{
216-
Name: TibiaDataSanitizeNbspSpaceString(subma1[0][2]),
216+
Name: TibiaDataSanitizeStrings(subma1[0][2]),
217217
Title: MembersTitle,
218218
Rank: MembersRank,
219219
Vocation: subma1[0][4],
@@ -228,7 +228,7 @@ func TibiaGuildsGuildV3Impl(guild string, BoxContentHTML string) GuildResponse {
228228
if len(subma2) > 0 {
229229
MembersCountInvited++
230230
InvitedData = append(InvitedData, InvitedGuildMember{
231-
Name: subma2[0][1],
231+
Name: TibiaDataSanitizeStrings(subma2[0][1]),
232232
Date: subma2[0][2],
233233
})
234234
}

src/TibiaHousesHouseV3.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ func TibiaHousesHouseV3Impl(houseid string, BoxContentHTML string) HouseResponse
104104
HouseData.Size = TibiaDataStringToIntegerV3(subma1[0][5])
105105
HouseData.Rent = TibiaDataConvertValuesWithK(subma1[0][6] + subma1[0][7])
106106

107-
HouseData.Status.Original = strings.TrimSpace(TibiaDataSanitizeNbspSpaceString(TibiaDataSanitizeEscapedString(RemoveHtmlTag(subma1[0][9]))))
107+
HouseData.Status.Original = strings.TrimSpace(TibiaDataSanitizeStrings(TibiaDataSanitizeEscapedString(RemoveHtmlTag(subma1[0][9]))))
108108

109109
switch {
110110
case strings.Contains(HouseData.Status.Original, "has been rented by"):
@@ -153,7 +153,7 @@ func TibiaHousesHouseV3Impl(houseid string, BoxContentHTML string) HouseResponse
153153
// storing values from regex
154154
HouseData.Status.Auction.AuctionEnd = TibiaDataDatetimeV3(subma2[0][3])
155155
HouseData.Status.Auction.CurrentBid = TibiaDataStringToIntegerV3(subma2[0][4])
156-
HouseData.Status.Auction.CurrentBidder = TibiaDataSanitizeNbspSpaceString(subma2[0][5])
156+
HouseData.Status.Auction.CurrentBidder = TibiaDataSanitizeStrings(subma2[0][5])
157157
if subma2[0][2] == "will end" {
158158
HouseData.Status.Auction.AuctionOngoing = true
159159
}

src/TibiaHousesOverviewV3.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ func TibiaHousesOverviewV3Impl(c *gin.Context, world string, town string, htmlDa
8989

9090
// Removing linebreaks from HTML
9191
HousesDivHTML = TibiaDataHTMLRemoveLinebreaksV3(HousesDivHTML)
92-
HousesDivHTML = TibiaDataSanitizeNbspSpaceString(HousesDivHTML)
92+
HousesDivHTML = TibiaDataSanitizeStrings(HousesDivHTML)
9393

9494
subma1 := houseOverviewDataRegex.FindAllStringSubmatch(HousesDivHTML, -1)
9595

src/TibiaNewslistV3.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ func TibiaNewslistV3Impl(days int, BoxContentHTML string) NewsListResponse {
4545

4646
// getting type from headline
4747
NewsType := s.Nodes[0].FirstChild.NextSibling.FirstChild.NextSibling.NextSibling.FirstChild.Data
48-
OneNews.Type = TibiaDataGetNewsType(TibiaDataSanitizeNbspSpaceString(NewsType))
48+
OneNews.Type = TibiaDataGetNewsType(TibiaDataSanitizeStrings(NewsType))
4949

5050
// getting date from headline
5151
OneNews.Date = TibiaDataDateV3(s.Nodes[0].FirstChild.NextSibling.FirstChild.Data)

src/TibiaWorldsWorldV3.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,9 +181,9 @@ func TibiaWorldsWorldV3Impl(world string, BoxContentHTML string) WorldResponse {
181181
if len(subma1) > 0 {
182182

183183
WorldsOnlinePlayers = append(WorldsOnlinePlayers, OnlinePlayers{
184-
Name: TibiaDataSanitizeNbspSpaceString(subma1[0][1]),
184+
Name: TibiaDataSanitizeStrings(subma1[0][1]),
185185
Level: TibiaDataStringToIntegerV3(subma1[0][2]),
186-
Vocation: TibiaDataSanitizeNbspSpaceString(subma1[0][3]),
186+
Vocation: TibiaDataSanitizeStrings(subma1[0][3]),
187187
})
188188
}
189189
})

0 commit comments

Comments
 (0)