Mercurial > minori
annotate src/services/services.cc @ 327:b5d6c27c308f
anime: refactor Anime::SeriesSeason to Season class
ToLocalString has also been altered to take in both season
and year because lots of locales actually treat formatting
seasons differently! most notably is Russian which adds a
suffix at the end to notate seasons(??)
author | Paper <paper@paper.us.eu.org> |
---|---|
date | Thu, 13 Jun 2024 01:49:18 -0400 |
parents | 78929794e7d8 |
children | 948955c3ba81 |
rev | line source |
---|---|
15 | 1 #include "services/services.h" |
10 | 2 #include "core/session.h" |
320
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
3 #include "gui/translate/anime.h" |
10 | 4 #include "services/anilist.h" |
317
b1f4d1867ab1
services: VERY initial Kitsu support
Paper <paper@paper.us.eu.org>
parents:
304
diff
changeset
|
5 #include "services/kitsu.h" |
10 | 6 |
7 namespace Services { | |
8 | |
9 void Synchronize() { | |
320
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
10 session.SetStatusBar(Translate::ToString(session.config.service) + ": Retrieving anime list..."); |
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
11 |
10 | 12 switch (session.config.service) { |
279 | 13 case Anime::Service::AniList: AniList::GetAnimeList(); break; |
317
b1f4d1867ab1
services: VERY initial Kitsu support
Paper <paper@paper.us.eu.org>
parents:
304
diff
changeset
|
14 case Anime::Service::Kitsu: Kitsu::GetAnimeList(); break; |
112
80f49f623d30
locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents:
81
diff
changeset
|
15 default: break; |
10 | 16 } |
17 } | |
18 | |
320
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
19 bool RetrieveAnimeMetadata(int id) { |
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
20 switch (session.config.service) { |
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
21 case Anime::Service::Kitsu: return Kitsu::RetrieveAnimeMetadata(id); |
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
22 default: return false; |
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
23 } |
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
24 } |
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
25 |
250 | 26 std::vector<int> Search(const std::string& search) { |
320
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
27 session.SetStatusBar(Translate::ToString(session.config.service) + ": Requesting search query..."); |
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
28 |
250 | 29 switch (session.config.service) { |
279 | 30 case Anime::Service::AniList: return AniList::Search(search); |
317
b1f4d1867ab1
services: VERY initial Kitsu support
Paper <paper@paper.us.eu.org>
parents:
304
diff
changeset
|
31 case Anime::Service::Kitsu: return Kitsu::Search(search); |
250 | 32 default: return {}; |
33 } | |
34 } | |
35 | |
327
b5d6c27c308f
anime: refactor Anime::SeriesSeason to Season class
Paper <paper@paper.us.eu.org>
parents:
325
diff
changeset
|
36 bool GetSeason(Anime::Season season) { |
320
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
37 session.SetStatusBar(Translate::ToString(session.config.service) + ": Retrieving anime season data..."); |
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
38 |
304
2115488eb302
*: add very early season searcher
Paper <paper@paper.us.eu.org>
parents:
279
diff
changeset
|
39 switch (session.config.service) { |
327
b5d6c27c308f
anime: refactor Anime::SeriesSeason to Season class
Paper <paper@paper.us.eu.org>
parents:
325
diff
changeset
|
40 case Anime::Service::AniList: return AniList::GetSeason(season); |
b5d6c27c308f
anime: refactor Anime::SeriesSeason to Season class
Paper <paper@paper.us.eu.org>
parents:
325
diff
changeset
|
41 case Anime::Service::Kitsu: return Kitsu::GetSeason(season); |
304
2115488eb302
*: add very early season searcher
Paper <paper@paper.us.eu.org>
parents:
279
diff
changeset
|
42 default: return {}; |
2115488eb302
*: add very early season searcher
Paper <paper@paper.us.eu.org>
parents:
279
diff
changeset
|
43 } |
2115488eb302
*: add very early season searcher
Paper <paper@paper.us.eu.org>
parents:
279
diff
changeset
|
44 } |
2115488eb302
*: add very early season searcher
Paper <paper@paper.us.eu.org>
parents:
279
diff
changeset
|
45 |
52
0c4138de2ea7
anime list: we are finally read-write
Paper <mrpapersonic@gmail.com>
parents:
47
diff
changeset
|
46 void UpdateAnimeEntry(int id) { |
320
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
47 session.SetStatusBar(Translate::ToString(session.config.service) + ": Updating remote anime entry..."); |
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
48 |
52
0c4138de2ea7
anime list: we are finally read-write
Paper <mrpapersonic@gmail.com>
parents:
47
diff
changeset
|
49 switch (session.config.service) { |
279 | 50 case Anime::Service::AniList: AniList::UpdateAnimeEntry(id); break; |
317
b1f4d1867ab1
services: VERY initial Kitsu support
Paper <paper@paper.us.eu.org>
parents:
304
diff
changeset
|
51 case Anime::Service::Kitsu: Kitsu::UpdateAnimeEntry(id); break; |
52
0c4138de2ea7
anime list: we are finally read-write
Paper <mrpapersonic@gmail.com>
parents:
47
diff
changeset
|
52 default: break; |
0c4138de2ea7
anime list: we are finally read-write
Paper <mrpapersonic@gmail.com>
parents:
47
diff
changeset
|
53 } |
0c4138de2ea7
anime list: we are finally read-write
Paper <mrpapersonic@gmail.com>
parents:
47
diff
changeset
|
54 } |
0c4138de2ea7
anime list: we are finally read-write
Paper <mrpapersonic@gmail.com>
parents:
47
diff
changeset
|
55 |
44
619cbd6e69f9
filesystem: fix CreateDirectories function
Paper <mrpapersonic@gmail.com>
parents:
15
diff
changeset
|
56 }; // namespace Services |