15
+ − 1 #include "gui/translate/anilist.h"
+ − 2
+ − 3 namespace Translate::AniList {
+ − 4
+ − 5 Anime::SeriesStatus ToSeriesStatus(std::string status) {
+ − 6 std::unordered_map<std::string, Anime::SeriesStatus> map = {
+ − 7 {"FINISHED", Anime::SeriesStatus::FINISHED },
+ − 8 {"RELEASING", Anime::SeriesStatus::RELEASING },
+ − 9 {"NOT_YET_RELEASED", Anime::SeriesStatus::NOT_YET_RELEASED},
+ − 10 {"CANCELLED", Anime::SeriesStatus::CANCELLED },
+ − 11 {"HIATUS", Anime::SeriesStatus::HIATUS }
+ − 12 };
+ − 13
+ − 14 if (!map.contains(status))
+ − 15 return Anime::SeriesStatus::UNKNOWN;
+ − 16 return map[status];
+ − 17 }
+ − 18
+ − 19 Anime::SeriesSeason ToSeriesSeason(std::string season) {
+ − 20 std::unordered_map<std::string, Anime::SeriesSeason> map = {
+ − 21 {"WINTER", Anime::SeriesSeason::WINTER},
+ − 22 {"SPRING", Anime::SeriesSeason::SPRING},
+ − 23 {"SUMMER", Anime::SeriesSeason::SUMMER},
+ − 24 {"FALL", Anime::SeriesSeason::FALL }
+ − 25 };
+ − 26
+ − 27 if (!map.contains(season))
+ − 28 return Anime::SeriesSeason::UNKNOWN;
+ − 29 return map[season];
+ − 30 }
+ − 31
+ − 32 Anime::SeriesFormat ToSeriesFormat(std::string format) {
+ − 33 std::unordered_map<std::string, enum Anime::SeriesFormat> map = {
+ − 34 {"TV", Anime::SeriesFormat::TV },
+ − 35 {"TV_SHORT", Anime::SeriesFormat::TV_SHORT},
+ − 36 {"MOVIE", Anime::SeriesFormat::MOVIE },
+ − 37 {"SPECIAL", Anime::SeriesFormat::SPECIAL },
+ − 38 {"OVA", Anime::SeriesFormat::OVA },
+ − 39 {"ONA", Anime::SeriesFormat::ONA },
+ − 40 {"MUSIC", Anime::SeriesFormat::MUSIC },
+ − 41 {"MANGA", Anime::SeriesFormat::MANGA },
+ − 42 {"NOVEL", Anime::SeriesFormat::NOVEL },
+ − 43 {"ONE_SHOT", Anime::SeriesFormat::ONE_SHOT}
+ − 44 };
+ − 45
+ − 46 if (!map.contains(format))
+ − 47 return Anime::SeriesFormat::UNKNOWN;
+ − 48 return map[format];
+ − 49 }
+ − 50
+ − 51 } // namespace Translate::AniList