From ba27fcf1f4ea309a9b55e2e4830664a28699622f Mon Sep 17 00:00:00 2001 From: Rustem Kamalov Date: Thu, 25 Jun 2026 17:06:01 +0300 Subject: [PATCH] remove dead code, pin golangci linters --- .golangci.yml | 13 ++++++++++++ cmd/root.go | 2 +- ecosia/parse_html.go | 48 -------------------------------------------- google/search.go | 13 +----------- google/url.go | 4 ++-- yandex/url.go | 1 - 6 files changed, 17 insertions(+), 64 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 35af932..97d3a88 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,6 +1,19 @@ run: tests: true timeout: 5m + go: "1.24" + +# Pinned set so CI and local runs agree +linters: + disable-all: true + enable: + - govet + - staticcheck + - gosimple + - errcheck + - ineffassign + - unused + - misspell issues: max-issues-per-linter: 0 diff --git a/cmd/root.go b/cmd/root.go index 703bbdb..97fb1e0 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -293,7 +293,7 @@ func initializeConfig(cmd *cobra.Command) error { envKey := envPrefix + "_" + strings.ToUpper(strings.ReplaceAll(key, ".", "_")) err := v.BindEnv(key, envKey) if err != nil { - logrus.WithError(err).Error(fmt.Sprintf("Unable to bind ENV valye: %v", err)) + logrus.WithError(err).Error(fmt.Sprintf("Unable to bind ENV value: %v", err)) } } diff --git a/ecosia/parse_html.go b/ecosia/parse_html.go index 1f77f57..3466be7 100644 --- a/ecosia/parse_html.go +++ b/ecosia/parse_html.go @@ -104,51 +104,3 @@ func setSeparatedAdAbsoluteRanks(results []core.SearchResult, start int) { organicAbsoluteRank++ } } - -// // parseEcosiaImageItem extracts a single image card from a goquery Selection. -// func parseEcosiaImageItem(item *goquery.Selection, rank int) (core.SearchResult, bool) { -// linkTag := item.Find(Selectors.ImageLink).First() -// if linkTag.Length() == 0 { -// return core.SearchResult{}, false -// } -// href, exists := linkTag.Attr("href") -// if !exists { -// return core.SearchResult{}, false -// } -// imgURL := strings.TrimSpace(href) -// if imgURL == "" { -// return core.SearchResult{}, false -// } - -// title := "" -// if img := linkTag.Find("img").First(); img.Length() > 0 { -// if alt, err := img.Attr("alt"); err { -// title = strings.TrimSpace(alt) -// } -// } - -// source := "" -// if s := item.Find(Selectors.ImageSource).First(); s.Length() > 0 { -// source = strings.TrimSpace(s.Text()) -// } -// dims := "" -// if d := item.Find(Selectors.ImageDims).First(); d.Length() > 0 { -// dims = strings.TrimSpace(d.Text()) -// } - -// desc := source -// if dims != "" { -// if source != "" { -// desc = fmt.Sprintf("%s (%s)", source, dims) -// } else { -// desc = dims -// } -// } - -// return core.SearchResult{ -// Rank: rank, -// URL: imgURL, -// Title: title, -// Description: desc, -// }, true -// } diff --git a/google/search.go b/google/search.go index 2af564b..bfcba29 100644 --- a/google/search.go +++ b/google/search.go @@ -335,6 +335,7 @@ func (gogl *Google) Search(ctx context.Context, query core.Query) (results []cor srchRes.AbsoluteRank = absoluteRank adRank++ absoluteRank++ + searchResults = append(searchResults, srchRes) } else if isAnswerBox { // 2. Parse answer boxes @@ -463,18 +464,6 @@ func (gogl *Google) Search(ctx context.Context, query core.Query) (results []cor } else { continue } - - if srchRes.Ad && srchRes.Rank == 0 { - srchRes.Rank = adRank - adRank++ - } else if !srchRes.Ad { - srchRes.Rank = rank - } - if srchRes.AbsoluteRank == 0 { - srchRes.AbsoluteRank = absoluteRank - absoluteRank++ - } - searchResults = append(searchResults, srchRes) } deduped := core.DeduplicateResults(searchResults) diff --git a/google/url.go b/google/url.go index 87a0e22..fc33dce 100644 --- a/google/url.go +++ b/google/url.go @@ -262,7 +262,7 @@ func BuildURL(q core.Query) (string, error) { if q.DateInterval != "" { intervals := strings.Split(q.DateInterval, "..") if len(intervals) != 2 { - return "", errors.New("incorrect data interval provided") + return "", errors.New("incorrect date interval provided") } dataParam := fmt.Sprintf("cdr:1,cd_min:%s,cd_max:%s", intervals[0], intervals[1]) @@ -343,7 +343,7 @@ func BuildImageURL(q core.Query) (string, error) { if q.DateInterval != "" { intervals := strings.Split(q.DateInterval, "..") if len(intervals) != 2 { - return "", errors.New("incorrect data interval provided") + return "", errors.New("incorrect date interval provided") } dataParam := fmt.Sprintf("cdr:1,cd_min:%s,cd_max:%s", intervals[0], intervals[1]) diff --git a/yandex/url.go b/yandex/url.go index a8ca50e..2adaaea 100644 --- a/yandex/url.go +++ b/yandex/url.go @@ -54,7 +54,6 @@ func BuildURL(q core.Query, page int) (string, error) { // BuildImageURL builds a Yandex image search URL for the provided query and // page index. It returns an error when the resulting query text is empty. func BuildImageURL(q core.Query, page int) (string, error) { - // TODO: Add other parameters base, _ := url.Parse(baseURL) base.Path += "images/search/"