Get Anime cached

This commit is contained in:
daru
2022-04-15 21:54:51 +02:00
parent c59d1ba68b
commit 6ba9176ca7
4 changed files with 24 additions and 9 deletions

View File

@@ -12,9 +12,9 @@ import (
"github.com/valyala/fasthttp"
)
func GetAnimeDetailData(malId int64) (*AnimeDetailMal, []byte, error) {
func GetAnimeDetailData(animeId int64) (*AnimeDetailMal, []byte, error) {
var anime AnimeDetailMal
body, err := GetAnimeDetailBytes(malId)
body, err := GetAnimeDetailBytesCached(animeId)
if err != nil {
return nil, body, err
}
@@ -22,8 +22,18 @@ func GetAnimeDetailData(malId int64) (*AnimeDetailMal, []byte, error) {
return &anime, body, err
}
func GetAnimeDetailBytes(malId int64) ([]byte, error) {
return GetDataMal(animeApiMal + strconv.FormatInt(malId, 10) + "?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")
func GetAnimeDetailBytesCached(animeId int64) ([]byte, error) {
key := strconv.FormatInt(animeId, 10)
data, err := animeCache.Get(key)
if err != nil {
data, err = GetDataMal(animeApiMal + key + "?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")
if err != nil {
return data, err
}
animeCache.Set(key, data)
return data, err
}
return data, err
}
func GetUserAnimeListData(username, status string) (*AnimeListMal, []byte, error) {