Mercurial > minori
comparison src/services/services.cc @ 320:1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
there are some things the API just... doesn't provide. therefore
we have to request the genres separately any time a new anime info
box is opened...
| author | Paper <paper@paper.us.eu.org> |
|---|---|
| date | Wed, 12 Jun 2024 19:49:19 -0400 |
| parents | b1f4d1867ab1 |
| children | 78929794e7d8 |
comparison
equal
deleted
inserted
replaced
| 319:d928ec7b6a0d | 320:1b5c04268d6a |
|---|---|
| 1 #include "services/services.h" | 1 #include "services/services.h" |
| 2 #include "core/session.h" | 2 #include "core/session.h" |
| 3 #include "gui/translate/anime.h" | |
| 3 #include "services/anilist.h" | 4 #include "services/anilist.h" |
| 4 #include "services/kitsu.h" | 5 #include "services/kitsu.h" |
| 5 | 6 |
| 6 namespace Services { | 7 namespace Services { |
| 7 | 8 |
| 8 void Synchronize() { | 9 void Synchronize() { |
| 10 session.SetStatusBar(Translate::ToString(session.config.service) + ": Retrieving anime list..."); | |
| 11 | |
| 9 switch (session.config.service) { | 12 switch (session.config.service) { |
| 10 case Anime::Service::AniList: AniList::GetAnimeList(); break; | 13 case Anime::Service::AniList: AniList::GetAnimeList(); break; |
| 11 case Anime::Service::Kitsu: Kitsu::GetAnimeList(); break; | 14 case Anime::Service::Kitsu: Kitsu::GetAnimeList(); break; |
| 12 default: break; | 15 default: break; |
| 13 } | 16 } |
| 14 } | 17 } |
| 15 | 18 |
| 19 bool RetrieveAnimeMetadata(int id) { | |
| 20 switch (session.config.service) { | |
| 21 case Anime::Service::Kitsu: return Kitsu::RetrieveAnimeMetadata(id); | |
| 22 default: return false; | |
| 23 } | |
| 24 } | |
| 25 | |
| 16 std::vector<int> Search(const std::string& search) { | 26 std::vector<int> Search(const std::string& search) { |
| 27 session.SetStatusBar(Translate::ToString(session.config.service) + ": Requesting search query..."); | |
| 28 | |
| 17 switch (session.config.service) { | 29 switch (session.config.service) { |
| 18 case Anime::Service::AniList: return AniList::Search(search); | 30 case Anime::Service::AniList: return AniList::Search(search); |
| 19 case Anime::Service::Kitsu: return Kitsu::Search(search); | 31 case Anime::Service::Kitsu: return Kitsu::Search(search); |
| 20 default: return {}; | 32 default: return {}; |
| 21 } | 33 } |
| 22 } | 34 } |
| 23 | 35 |
| 24 std::vector<int> GetSeason(Anime::SeriesSeason season, Date::Year year) { | 36 std::vector<int> GetSeason(Anime::SeriesSeason season, Date::Year year) { |
| 37 session.SetStatusBar(Translate::ToString(session.config.service) + ": Retrieving anime season data..."); | |
| 38 | |
| 25 switch (session.config.service) { | 39 switch (session.config.service) { |
| 26 case Anime::Service::AniList: return AniList::GetSeason(season, year); | 40 case Anime::Service::AniList: return AniList::GetSeason(season, year); |
| 27 case Anime::Service::Kitsu: return Kitsu::GetSeason(season, year); | 41 case Anime::Service::Kitsu: return Kitsu::GetSeason(season, year); |
| 28 default: return {}; | 42 default: return {}; |
| 29 } | 43 } |
| 30 } | 44 } |
| 31 | 45 |
| 32 void UpdateAnimeEntry(int id) { | 46 void UpdateAnimeEntry(int id) { |
| 47 session.SetStatusBar(Translate::ToString(session.config.service) + ": Updating remote anime entry..."); | |
| 48 | |
| 33 switch (session.config.service) { | 49 switch (session.config.service) { |
| 34 case Anime::Service::AniList: AniList::UpdateAnimeEntry(id); break; | 50 case Anime::Service::AniList: AniList::UpdateAnimeEntry(id); break; |
| 35 case Anime::Service::Kitsu: Kitsu::UpdateAnimeEntry(id); break; | 51 case Anime::Service::Kitsu: Kitsu::UpdateAnimeEntry(id); break; |
| 36 default: break; | 52 default: break; |
| 37 } | 53 } |
