From 949bef2c5d5ee53a5d6158e16921c698f8a6e266 Mon Sep 17 00:00:00 2001 From: lost+skunk Date: Sun, 30 Jun 2024 14:39:11 +0300 Subject: по мелочи MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- misc.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'misc.go') diff --git a/misc.go b/misc.go index 6584479..400ac8b 100644 --- a/misc.go +++ b/misc.go @@ -7,6 +7,7 @@ import ( "log" "math" "net/http" + u "net/url" "strconv" "strings" ) @@ -131,10 +132,11 @@ func DailyDeviationsFunc(page int) (dd DailyDeviations) { /* SEARCH */ type Search struct { - Total int `json:"estTotal"` - Pages int // only for 'a' and 'g' scope. - HasMore bool - Results []Deviation `json:"deviations,results"` + Total int `json:"estTotal"` + Pages int // only for 'a' and 'g' scope. + HasMore bool + Results []Deviation `json:"deviations"` + ResultsGalleryTemp []Deviation `json:"results"` } func SearchFunc(query string, page int, scope rune, user ...string) (ss Search, e error) { @@ -162,7 +164,7 @@ func SearchFunc(query string, page int, scope rune, user ...string) (ss Search, log.Fatalln("Invalid type.\n- 'a' -- all;\n- 't' -- tag;\n- 'g' - gallery.") } - url.WriteString(query) + url.WriteString(u.QueryEscape(query)) if scope != 'g' { // если область поиска не равна поиску по группам, то активируется этот код url.WriteString("&page=") } else { // иначе вместо страницы будет оффсет и страница умножится на 50 @@ -173,6 +175,10 @@ func SearchFunc(query string, page int, scope rune, user ...string) (ss Search, ujson(url.String(), &ss) + if scope == 'g' { + ss.Results = ss.ResultsGalleryTemp + } + // расчёт, сколько всего страниц по запросу. без токена 417 страниц - максимум totalfloat := int(math.Round(float64(ss.Total / 25))) for x := 0; x < totalfloat; x++ { -- cgit v1.2.3