From ebe235a19193004ab583cb930f8e5a1373f85574 Mon Sep 17 00:00:00 2001 From: jet tsang zeon-git Date: Fri, 2 Feb 2024 09:41:53 +0800 Subject: Refactor loadData function for better error handling and logging Signed-off-by: jet tsang zeon-git --- main.go | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/main.go b/main.go index 06552ab..d978717 100644 --- a/main.go +++ b/main.go @@ -124,28 +124,43 @@ func loadData() { var code string if blockTxt != "" { - if doc, err := htmlquery.LoadURL(listUrl); err != nil { + doc, err := htmlquery.LoadURL(listUrl) + if err != nil { log.Println("url err:", listUrl) return - } else if found, err := htmlquery.QueryAll(doc, blockTxt); err != nil { + } + found, err := htmlquery.QueryAll(doc, blockTxt) + if err != nil { log.Println("block not found", err) return - } else { - code = htmlquery.InnerText(found[0]) } + if len(found) == 0 { + log.Println("No elements found") + return + } + code = htmlquery.InnerText(found[0]) } else { var dst []byte - _, byteCode, _ := fasthttp.Get(dst, string(listUrl)) + statusCode, byteCode, err := fasthttp.Get(dst, string(listUrl)) + if err != nil || statusCode != fasthttp.StatusOK { + log.Printf("HTTP request failed with status code %d\n", statusCode) + return + } code = string(byteCode) } + scanner := bufio.NewScanner(strings.NewReader(code)) for scanner.Scan() { maplist := strings.Split(scanner.Text(), "#") + if len(maplist) < 2 { + log.Println("Invalid data format:", scanner.Text()) + continue // Skip this iteration as the data format is not valid + } shortenMap[maplist[0]] = maplist[1] } - log.Println("urls mapped.") - + log.Println("URLs mapped.") } + func GetBetweenStr(str, start, end string) string { n := strings.Index(str, start) + len(start) if n == -1 { -- cgit v1.2.3