@@ -164,44 +164,43 @@ func TibiaCharactersCharacterV3(c *gin.Context) {
164164
165165 // Running query on every .TableContainer
166166 ReaderHTML .Find (".TableContainer" ).Each (func (index int , s * goquery.Selection ) {
167-
168167 // Storing HTML into CharacterDivHTML
169168 CharacterDivHTML , err := s .Html ()
170169 if err != nil {
171170 log .Fatal (err )
172171 }
173172
174- if strings .Contains (CharacterDivHTML , "Text\" >Character Information" ) {
173+ switch {
174+ case strings .Contains (CharacterDivHTML , "Text\" >Character Information" ):
175175 // Character Information
176176 CharacterSection = "characterinformation"
177- } else if strings .Contains (CharacterDivHTML , "Text\" >Account Badges" ) {
177+ case strings .Contains (CharacterDivHTML , "Text\" >Account Badges" ):
178178 // Account Badges
179179 CharacterSection = "accountbadges"
180- } else if strings .Contains (CharacterDivHTML , "Text\" >Account Achievements" ) {
180+ case strings .Contains (CharacterDivHTML , "Text\" >Account Achievements" ):
181181 // Account Achievements
182182 CharacterSection = "accountachievements"
183- } else if strings .Contains (CharacterDivHTML , "Text\" >Character Deaths" ) {
183+ case strings .Contains (CharacterDivHTML , "Text\" >Character Deaths" ):
184184 // Character Deaths
185185 CharacterSection = "characterdeaths"
186- } else if strings .Contains (CharacterDivHTML , "Text\" >Account Information" ) {
186+ case strings .Contains (CharacterDivHTML , "Text\" >Account Information" ):
187187 // Account Information
188188 CharacterSection = "accountinformation"
189- } else if strings .Contains (CharacterDivHTML , "Text\" >Search Character" ) {
189+ case strings .Contains (CharacterDivHTML , "Text\" >Search Character" ):
190190 // Search Character
191191 CharacterSection = "searchcharacter"
192- } else if strings .Contains (CharacterDivHTML , "Text\" >Characters" ) {
192+ case strings .Contains (CharacterDivHTML , "Text\" >Characters" ):
193193 // Characters
194194 CharacterSection = "characters"
195195 }
196196
197197 // parsing CharacterDivHTML to goquery format
198198 CharacterDivQuery , _ := goquery .NewDocumentFromReader (strings .NewReader (CharacterDivHTML ))
199199
200- if CharacterSection == "characterinformation" || CharacterSection == "accountinformation" {
201-
200+ switch CharacterSection {
201+ case "characterinformation" , "accountinformation" :
202202 // Running query over each tr in character content container
203203 CharacterDivQuery .Find (localDivQueryString ).Each (func (index int , s * goquery.Selection ) {
204-
205204 // Storing HTML into CharacterTrHTML
206205 CharacterTrHTML , err := s .Html ()
207206 if err != nil {
@@ -218,8 +217,8 @@ func TibiaCharactersCharacterV3(c *gin.Context) {
218217 subma1 := regex1 .FindAllStringSubmatch (CharacterTrHTML , - 1 )
219218
220219 if len (subma1 ) > 0 {
221-
222- if subma1 [ 0 ][ 1 ] == "Name" {
220+ switch TibiaDataSanitizeNbspSpaceString ( subma1 [ 0 ][ 1 ]) {
221+ case "Name" :
223222 Tmp := strings .Split (subma1 [0 ][2 ], "<" )
224223 CharacterInformationData .Name = strings .TrimSpace (Tmp [0 ])
225224 if strings .Contains (Tmp [0 ], ", will be deleted at" ) {
@@ -231,33 +230,32 @@ func TibiaCharactersCharacterV3(c *gin.Context) {
231230 CharacterInformationData .Traded = true
232231 CharacterInformationData .Name = strings .Replace (CharacterInformationData .Name , localTradedString , "" , - 1 )
233232 }
234- } else if subma1 [ 0 ][ 1 ] == "Former Names" {
233+ case "Former Names" :
235234 CharacterInformationData .FormerNames = strings .Split (subma1 [0 ][2 ], ", " )
236- } else if subma1 [ 0 ][ 1 ] == "Sex" {
235+ case "Sex" :
237236 CharacterInformationData .Sex = subma1 [0 ][2 ]
238- } else if subma1 [ 0 ][ 1 ] == "Title" {
237+ case "Title" :
239238 regex1t := regexp .MustCompile (`(.*) \(([0-9]+).*` )
240239 subma1t := regex1t .FindAllStringSubmatch (subma1 [0 ][2 ], - 1 )
241240 CharacterInformationData .Title = subma1t [0 ][1 ]
242241 CharacterInformationData .UnlockedTitles = TibiadataStringToIntegerV3 (subma1t [0 ][2 ])
243- } else if subma1 [ 0 ][ 1 ] == "Vocation" {
242+ case "Vocation" :
244243 CharacterInformationData .Vocation = subma1 [0 ][2 ]
245- } else if subma1 [ 0 ][ 1 ] == "Level" {
244+ case "Level" :
246245 CharacterInformationData .Level = TibiadataStringToIntegerV3 (subma1 [0 ][2 ])
247- } else if subma1 [ 0 ][ 1 ] == "Achievement Points" {
246+ case "Achievement Points" :
248247 CharacterInformationData .AchievementPoints = TibiadataStringToIntegerV3 (subma1 [0 ][2 ])
249- } else if subma1 [ 0 ][ 1 ] == "World" {
248+ case "World" :
250249 CharacterInformationData .World = subma1 [0 ][2 ]
251- } else if subma1 [ 0 ][ 1 ] == "Former World" {
250+ case "Former World" :
252251 CharacterInformationData .FormerWorlds = strings .Split (subma1 [0 ][2 ], ", " )
253- } else if subma1 [ 0 ][ 1 ] == "Residence" {
252+ case "Residence" :
254253 CharacterInformationData .Residence = subma1 [0 ][2 ]
255- } else if strings .Contains (subma1 [0 ][1 ], "Account" ) && strings .Contains (subma1 [0 ][1 ], "Status" ) {
256- // } else if subma1[0][1] == "Account Status" {
254+ case "Account Status" :
257255 CharacterInformationData .AccountStatus = subma1 [0 ][2 ]
258- } else if subma1 [ 0 ][ 1 ] == "Married To" {
256+ case "Married To" :
259257 CharacterInformationData .MarriedTo = TibiadataRemoveURLsV3 (subma1 [0 ][2 ])
260- } else if subma1 [ 0 ][ 1 ] == "House" {
258+ case "House" :
261259 regex1h := regexp .MustCompile (`.*houseid=([0-9]+).*character=.*>(.*)</a> \((.*)\) is paid until (.*)` )
262260 subma1h := regex1h .FindAllStringSubmatch (subma1 [0 ][2 ], - 1 )
263261 CharacterInformationData .Houses = append (CharacterInformationData .Houses , Houses {
@@ -266,36 +264,31 @@ func TibiaCharactersCharacterV3(c *gin.Context) {
266264 Paid : TibiadataDateV3 (subma1h [0 ][4 ]),
267265 HouseID : TibiadataStringToIntegerV3 (subma1h [0 ][1 ]),
268266 })
269- } else if strings .Contains (subma1 [0 ][1 ], "Guild" ) && strings .Contains (subma1 [0 ][1 ], "Membership" ) {
270- // } else if subma1[0][1] == "Guild Membership" {
267+ case "Guild Membership" :
271268 Tmp := strings .Split (subma1 [0 ][2 ], " of the <a href=" )
272269 CharacterInformationData .Guild .Rank = Tmp [0 ]
273270 CharacterInformationData .Guild .GuildName = TibiadataRemoveURLsV3 ("<a href=" + Tmp [1 ])
274- } else if subma1 [ 0 ][ 1 ] == "Last Login" {
271+ case "Last Login" :
275272 if subma1 [0 ][2 ] != "never logged in" {
276273 CharacterInformationData .LastLogin = TibiadataDatetimeV3 (subma1 [0 ][2 ])
277274 }
278- } else if subma1 [ 0 ][ 1 ] == "Comment" {
275+ case "Comment" :
279276 CharacterInformationData .Comment = strings .ReplaceAll (subma1 [0 ][2 ], "<br/>" , "\n " )
280- } else if subma1 [ 0 ][ 1 ] == "Loyalty Title" {
277+ case "Loyalty Title" :
281278 AccountInformationData .LoyaltyTitle = subma1 [0 ][2 ]
282- } else if subma1 [ 0 ][ 1 ] == "Created" {
279+ case "Created" :
283280 AccountInformationData .Created = TibiadataDatetimeV3 (subma1 [0 ][2 ])
284- } else if subma1 [ 0 ][ 1 ] == "Position" {
281+ case "Position" :
285282 TmpPosition := strings .Split (subma1 [0 ][2 ], "<" )
286283 AccountInformationData .Position = strings .TrimSpace (TmpPosition [0 ])
287- } else {
284+ default :
288285 log .Println ("LEFT OVER: `" + subma1 [0 ][1 ] + "` = `" + subma1 [0 ][2 ] + "`" )
289286 }
290-
291287 }
292-
293288 })
294-
295- } else if CharacterSection == "accountbadges" {
289+ case "accountbadges" :
296290 // Running query over each tr in list
297291 CharacterDivQuery .Find (".TableContentContainer tr td" ).Each (func (index int , s * goquery.Selection ) {
298-
299292 // Storing HTML into CharacterListHTML
300293 CharacterListHTML , err := s .Html ()
301294 if err != nil {
@@ -315,11 +308,9 @@ func TibiaCharactersCharacterV3(c *gin.Context) {
315308 Description : subma1 [0 ][2 ],
316309 })
317310 })
318-
319- } else if CharacterSection == "accountachievements" {
311+ case "accountachievements" :
320312 // Running query over each tr in list
321313 CharacterDivQuery .Find (localDivQueryString ).Each (func (index int , s * goquery.Selection ) {
322-
323314 // Storing HTML into CharacterListHTML
324315 CharacterListHTML , err := s .Html ()
325316 if err != nil {
@@ -349,11 +340,9 @@ func TibiaCharactersCharacterV3(c *gin.Context) {
349340 }
350341
351342 })
352-
353- } else if CharacterSection == "characterdeaths" {
343+ case "characterdeaths" :
354344 // Running query over each tr in list
355345 CharacterDivQuery .Find (localDivQueryString ).Each (func (index int , s * goquery.Selection ) {
356-
357346 // Storing HTML into CharacterListHTML
358347 CharacterListHTML , err := s .Html ()
359348 if err != nil {
@@ -439,15 +428,11 @@ func TibiaCharactersCharacterV3(c *gin.Context) {
439428 Assists : DeathAssists ,
440429 Reason : ReasonString ,
441430 })
442-
443431 }
444-
445432 })
446-
447- } else if CharacterSection == "characters" {
433+ case "characters" :
448434 // Running query over each tr in character list
449435 CharacterDivQuery .Find (localDivQueryString ).Each (func (index int , s * goquery.Selection ) {
450-
451436 // Storing HTML into CharacterListHTML
452437 CharacterListHTML , err := s .Html ()
453438 if err != nil {
@@ -462,7 +447,6 @@ func TibiaCharactersCharacterV3(c *gin.Context) {
462447 subma1 := regex1 .FindAllStringSubmatch (CharacterListHTML , - 1 )
463448
464449 if len (subma1 ) > 0 {
465-
466450 TmpCharacterName := subma1 [0 ][1 ]
467451
468452 var TmpTraded bool
@@ -501,10 +485,8 @@ func TibiaCharactersCharacterV3(c *gin.Context) {
501485 Traded : TmpTraded ,
502486 })
503487 }
504-
505488 })
506489 }
507-
508490 })
509491
510492 //
0 commit comments