diff options
| author | Priyansh <[email protected]> | 2025-08-25 11:40:19 +0530 |
|---|---|---|
| committer | Priyansh <[email protected]> | 2025-08-25 11:40:19 +0530 |
| commit | a4d2b4c3d7b043b496ee2ecb51967dbd9785a1ef (patch) | |
| tree | 157b54d7a1bfb613a34e1e3403c87270a7d8e515 /services | |
| parent | c336a3bab91186be1b998bba67e57d0797bd87ba (diff) | |
| download | metachan-a4d2b4c3d7b043b496ee2ecb51967dbd9785a1ef.tar.xz metachan-a4d2b4c3d7b043b496ee2ecb51967dbd9785a1ef.zip | |
updated routes, added episode ids to each episode
Diffstat (limited to 'services')
| -rw-r--r-- | services/anime/helpers.go | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/services/anime/helpers.go b/services/anime/helpers.go index 3231676..932dbc2 100644 --- a/services/anime/helpers.go +++ b/services/anime/helpers.go @@ -1,6 +1,7 @@ package anime import ( + "crypto/md5" "crypto/tls" "fmt" "metachan/types" @@ -15,17 +16,33 @@ import ( "time" ) -// generateBasicEpisodes creates a basic list of episode data from Jikan episodes +func generateEpisodeID(titles types.EpisodeTitles) string { + var title string + if titles.English != "" { + title = titles.English + } else if titles.Romaji != "" { + title = titles.Romaji + } else { + title = titles.Japanese + } + + hash := md5.Sum([]byte(title)) + return fmt.Sprintf("%x", hash) +} + func generateBasicEpisodes(episodes []jikan.JikanAnimeEpisode) []types.AnimeSingleEpisode { var animeEpisodes []types.AnimeSingleEpisode for _, episode := range episodes { + titles := types.EpisodeTitles{ + English: episode.Title, + Japanese: episode.TitleJapanese, + Romaji: episode.TitleRomaji, + } + animeEpisodes = append(animeEpisodes, types.AnimeSingleEpisode{ - Titles: types.EpisodeTitles{ - English: episode.Title, - Japanese: episode.TitleJapanese, - Romaji: episode.TitleRomaji, - }, + ID: generateEpisodeID(titles), + Titles: titles, Aired: episode.Aired, Score: episode.Score, Filler: episode.Filler, @@ -34,7 +51,6 @@ func generateBasicEpisodes(episodes []jikan.JikanAnimeEpisode) []types.AnimeSing URL: episode.URL, Description: "No description available", ThumbnailURL: "", - // Stream field removed }) } return animeEpisodes |
