From 1eec0b2d5b017a5322029576e44ad9e133a8ac73 Mon Sep 17 00:00:00 2001 From: mkelvers Date: Sun, 3 May 2026 00:07:44 +0200 Subject: [PATCH] fix: resolve syntax error and duplicate code in GetAllEpisodes --- integrations/jikan/episodes.go | 51 ---------------------------------- 1 file changed, 51 deletions(-) diff --git a/integrations/jikan/episodes.go b/integrations/jikan/episodes.go index 895881c..dbc1d73 100644 --- a/integrations/jikan/episodes.go +++ b/integrations/jikan/episodes.go @@ -211,54 +211,3 @@ func (c *Client) GetAllEpisodes(ctx context.Context, animeID int) ([]Episode, er return allEpisodes, nil } - - - totalEpisodes := anime.Episodes - if totalEpisodes <= 0 { - // Fallback to simple page 1 fetch if count is unknown - resp, err := c.GetEpisodes(ctx, animeID, 1) - if err != nil { - return nil, err - } - return resp.Data, nil - } - - // Jikan /episodes returns 100 per page - lastPage := (totalEpisodes + 99) / 100 - var allEpisodes []Episode - - // Fetch last page first (to get most recent episodes immediately) - lastResp, err := c.GetEpisodes(ctx, animeID, lastPage) - if err == nil { - allEpisodes = append(allEpisodes, lastResp.Data...) - } - - // Fetch first page - if lastPage > 1 { - firstResp, err := c.GetEpisodes(ctx, animeID, 1) - if err == nil { - allEpisodes = append(allEpisodes, firstResp.Data...) - } - } - - // Background fetching for intermediate pages (Working BACKWARDS) - if lastPage > 2 { - go func() { - bgCtx, cancel := context.WithTimeout(context.Background(), 5*time.Minute) - defer cancel() - - // Count backwards from the second-to-last page to page 2 - for p := lastPage - 1; p >= 2; p-- { - _, _ = c.GetEpisodes(bgCtx, animeID, p) - - select { - case <-bgCtx.Done(): - return - case <-time.After(600 * time.Millisecond): // Slightly slower to be safe - } - } - }() - } - - return allEpisodes, nil -}