comparison src/gui/translate/anilist.cpp @ 47:d8eb763e6661

information.cpp: add widgets to the list tab, and add an "optional date" widget like taiga has so users can specify whether to set the date or not
author Paper <mrpapersonic@gmail.com>
date Mon, 25 Sep 2023 00:43:38 -0400
parents d0adc4aedfc8
children 3d2decf093bb
comparison
equal deleted inserted replaced
46:d0adc4aedfc8 47:d8eb763e6661
1 #include "gui/translate/anilist.h" 1 #include "gui/translate/anilist.h"
2 2
3 namespace Translate::AniList { 3 namespace Translate::AniList {
4 4
5 Anime::SeriesStatus ToSeriesStatus(std::string status) { 5 Anime::SeriesStatus ToSeriesStatus(std::string status) {
6 std::unordered_map<std::string, Anime::SeriesStatus> map = { 6 const std::unordered_map<std::string, Anime::SeriesStatus> map = {
7 {"FINISHED", Anime::SeriesStatus::FINISHED }, 7 {"FINISHED", Anime::SeriesStatus::FINISHED },
8 {"RELEASING", Anime::SeriesStatus::RELEASING }, 8 {"RELEASING", Anime::SeriesStatus::RELEASING },
9 {"NOT_YET_RELEASED", Anime::SeriesStatus::NOT_YET_RELEASED}, 9 {"NOT_YET_RELEASED", Anime::SeriesStatus::NOT_YET_RELEASED},
10 {"CANCELLED", Anime::SeriesStatus::CANCELLED }, 10 {"CANCELLED", Anime::SeriesStatus::CANCELLED },
11 {"HIATUS", Anime::SeriesStatus::HIATUS } 11 {"HIATUS", Anime::SeriesStatus::HIATUS }
12 }; 12 };
13 13
14 if (!map.contains(status)) 14 if (map.find(status) == map.end())
15 return Anime::SeriesStatus::UNKNOWN; 15 return Anime::SeriesStatus::UNKNOWN;
16 return map[status]; 16 return map.at(status);
17 } 17 }
18 18
19 Anime::SeriesSeason ToSeriesSeason(std::string season) { 19 Anime::SeriesSeason ToSeriesSeason(std::string season) {
20 std::unordered_map<std::string, Anime::SeriesSeason> map = { 20 const std::unordered_map<std::string, Anime::SeriesSeason> map = {
21 {"WINTER", Anime::SeriesSeason::WINTER}, 21 {"WINTER", Anime::SeriesSeason::WINTER},
22 {"SPRING", Anime::SeriesSeason::SPRING}, 22 {"SPRING", Anime::SeriesSeason::SPRING},
23 {"SUMMER", Anime::SeriesSeason::SUMMER}, 23 {"SUMMER", Anime::SeriesSeason::SUMMER},
24 {"FALL", Anime::SeriesSeason::FALL } 24 {"FALL", Anime::SeriesSeason::FALL }
25 }; 25 };
26 26
27 if (!map.contains(season)) 27 if (map.find(season) == map.end())
28 return Anime::SeriesSeason::UNKNOWN; 28 return Anime::SeriesSeason::UNKNOWN;
29 return map[season]; 29 return map.at(season);
30 } 30 }
31 31
32 Anime::SeriesFormat ToSeriesFormat(std::string format) { 32 Anime::SeriesFormat ToSeriesFormat(std::string format) {
33 std::unordered_map<std::string, enum Anime::SeriesFormat> map = { 33 const std::unordered_map<std::string, enum Anime::SeriesFormat> map = {
34 {"TV", Anime::SeriesFormat::TV }, 34 {"TV", Anime::SeriesFormat::TV },
35 {"TV_SHORT", Anime::SeriesFormat::TV_SHORT}, 35 {"TV_SHORT", Anime::SeriesFormat::TV_SHORT},
36 {"MOVIE", Anime::SeriesFormat::MOVIE }, 36 {"MOVIE", Anime::SeriesFormat::MOVIE },
37 {"SPECIAL", Anime::SeriesFormat::SPECIAL }, 37 {"SPECIAL", Anime::SeriesFormat::SPECIAL },
38 {"OVA", Anime::SeriesFormat::OVA }, 38 {"OVA", Anime::SeriesFormat::OVA },
41 {"MANGA", Anime::SeriesFormat::MANGA }, 41 {"MANGA", Anime::SeriesFormat::MANGA },
42 {"NOVEL", Anime::SeriesFormat::NOVEL }, 42 {"NOVEL", Anime::SeriesFormat::NOVEL },
43 {"ONE_SHOT", Anime::SeriesFormat::ONE_SHOT} 43 {"ONE_SHOT", Anime::SeriesFormat::ONE_SHOT}
44 }; 44 };
45 45
46 if (!map.contains(format)) 46 if (map.find(format) == map.end())
47 return Anime::SeriesFormat::UNKNOWN; 47 return Anime::SeriesFormat::UNKNOWN;
48 return map[format]; 48 return map.at(format);
49 } 49 }
50 50
51 } // namespace Translate::AniList 51 } // namespace Translate::AniList