mirror of
https://github.com/ultrasn0w/huso.git
synced 2025-12-14 05:39:52 +01:00
GET animesearch
This commit is contained in:
30
knecht.go
30
knecht.go
@@ -12,6 +12,36 @@ import (
|
||||
"github.com/valyala/fasthttp"
|
||||
)
|
||||
|
||||
func SearchAnime(query string) ([]Anime, []byte, error) {
|
||||
var animes []Anime
|
||||
data, err := searchCache.Get(query)
|
||||
if err != nil {
|
||||
err = nil
|
||||
dataMal, err := GetDataMal(searchApiMal + query + "&fields=id,title,main_picture,alternative_titles,start_date,end_date,synopsis,mean,rank,popularity,num_list_users,num_scoring_users,nsfw,media_type,status,genres,my_list_status,num_episodes,start_season,broadcast,source,average_episode_duration,rating,studios&limit=100")
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
var animeList AnimeListMal
|
||||
animes = make([]Anime, 0)
|
||||
err = json.Unmarshal(dataMal, &animeList)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
// convert to anime
|
||||
for _, a := range animeList.Data {
|
||||
animes = append(animes, MalConvert(&a.Node))
|
||||
}
|
||||
data, err = json.Marshal(animes)
|
||||
if err != nil {
|
||||
return animes, data, err
|
||||
}
|
||||
searchCache.Set(query, data)
|
||||
} else {
|
||||
err = json.Unmarshal(data, &animes)
|
||||
}
|
||||
return animes, data, err
|
||||
}
|
||||
|
||||
func GetAnimeDetailData(animeId int64) (*Anime, []byte, error) {
|
||||
var anime Anime
|
||||
key := strconv.FormatInt(animeId, 10)
|
||||
|
||||
Reference in New Issue
Block a user