Mercurial > minori
comparison src/gui/translate/anilist.cc @ 370:ea3a74ed2ef9
*: hm, last commit wasn't quite finished?
| author | Paper <paper@tflc.us> |
|---|---|
| date | Fri, 25 Jul 2025 10:22:04 -0400 |
| parents | b5d6c27c308f |
| children |
comparison
equal
deleted
inserted
replaced
| 369:47c9f8502269 | 370:ea3a74ed2ef9 |
|---|---|
| 2 #include <unordered_map> | 2 #include <unordered_map> |
| 3 | 3 |
| 4 namespace Translate { | 4 namespace Translate { |
| 5 namespace AniList { | 5 namespace AniList { |
| 6 | 6 |
| 7 Anime::SeriesStatus ToSeriesStatus(const std::string& status) { | 7 Anime::SeriesStatus ToSeriesStatus(const std::string &status) |
| 8 { | |
| 8 static const std::unordered_map<std::string, Anime::SeriesStatus> map = { | 9 static const std::unordered_map<std::string, Anime::SeriesStatus> map = { |
| 9 {"FINISHED", Anime::SeriesStatus::Finished }, | 10 {"FINISHED", Anime::SeriesStatus::Finished }, |
| 10 {"RELEASING", Anime::SeriesStatus::Releasing }, | 11 {"RELEASING", Anime::SeriesStatus::Releasing }, |
| 11 {"NOT_YET_RELEASED", Anime::SeriesStatus::NotYetReleased}, | 12 {"NOT_YET_RELEASED", Anime::SeriesStatus::NotYetReleased}, |
| 12 {"CANCELLED", Anime::SeriesStatus::Cancelled }, | 13 {"CANCELLED", Anime::SeriesStatus::Cancelled }, |
| 13 {"HIATUS", Anime::SeriesStatus::Hiatus } | 14 {"HIATUS", Anime::SeriesStatus::Hiatus } |
| 14 }; | 15 }; |
| 15 | 16 |
| 16 if (map.find(status) == map.end()) | 17 if (map.find(status) == map.end()) |
| 17 return Anime::SeriesStatus::Unknown; | 18 return Anime::SeriesStatus::Unknown; |
| 18 return map.at(status); | 19 return map.at(status); |
| 19 } | 20 } |
| 20 | 21 |
| 21 Anime::Season::Name ToSeriesSeason(const std::string& season) { | 22 Anime::Season::Name ToSeriesSeason(const std::string &season) |
| 23 { | |
| 22 static const std::unordered_map<std::string, Anime::Season::Name> map = { | 24 static const std::unordered_map<std::string, Anime::Season::Name> map = { |
| 23 {"WINTER", Anime::Season::Name::Winter}, | 25 {"WINTER", Anime::Season::Name::Winter}, |
| 24 {"SPRING", Anime::Season::Name::Spring}, | 26 {"SPRING", Anime::Season::Name::Spring}, |
| 25 {"SUMMER", Anime::Season::Name::Summer}, | 27 {"SUMMER", Anime::Season::Name::Summer}, |
| 26 {"FALL", Anime::Season::Name::Autumn} | 28 {"FALL", Anime::Season::Name::Autumn} |
| 29 if (map.find(season) == map.end()) | 31 if (map.find(season) == map.end()) |
| 30 return Anime::Season::Name::Unknown; | 32 return Anime::Season::Name::Unknown; |
| 31 return map.at(season); | 33 return map.at(season); |
| 32 } | 34 } |
| 33 | 35 |
| 34 Anime::SeriesFormat ToSeriesFormat(const std::string& format) { | 36 Anime::SeriesFormat ToSeriesFormat(const std::string &format) |
| 37 { | |
| 35 static const std::unordered_map<std::string, enum Anime::SeriesFormat> map = { | 38 static const std::unordered_map<std::string, enum Anime::SeriesFormat> map = { |
| 36 {"TV", Anime::SeriesFormat::Tv }, | 39 {"TV", Anime::SeriesFormat::Tv }, |
| 37 {"TV_SHORT", Anime::SeriesFormat::TvShort}, | 40 {"TV_SHORT", Anime::SeriesFormat::TvShort}, |
| 38 {"MOVIE", Anime::SeriesFormat::Movie }, | 41 {"MOVIE", Anime::SeriesFormat::Movie }, |
| 39 {"SPECIAL", Anime::SeriesFormat::Special }, | 42 {"SPECIAL", Anime::SeriesFormat::Special}, |
| 40 {"OVA", Anime::SeriesFormat::Ova }, | 43 {"OVA", Anime::SeriesFormat::Ova }, |
| 41 {"ONA", Anime::SeriesFormat::Ona }, | 44 {"ONA", Anime::SeriesFormat::Ona }, |
| 42 {"MUSIC", Anime::SeriesFormat::Music } | 45 {"MUSIC", Anime::SeriesFormat::Music } |
| 43 }; | 46 }; |
| 44 | 47 |
| 45 if (map.find(format) == map.end()) | 48 if (map.find(format) == map.end()) |
| 46 return Anime::SeriesFormat::Unknown; | 49 return Anime::SeriesFormat::Unknown; |
| 47 return map.at(format); | 50 return map.at(format); |
| 48 } | 51 } |
| 49 | 52 |
| 50 std::string ToString(Anime::Season::Name season) { | 53 std::string ToString(Anime::Season::Name season) |
| 54 { | |
| 51 switch (season) { | 55 switch (season) { |
| 52 default: | 56 default: |
| 53 case Anime::Season::Name::Winter: return "WINTER"; | 57 case Anime::Season::Name::Winter: return "WINTER"; |
| 54 case Anime::Season::Name::Autumn: return "FALL"; | 58 case Anime::Season::Name::Autumn: return "FALL"; |
| 55 case Anime::Season::Name::Summer: return "SUMMER"; | 59 case Anime::Season::Name::Summer: return "SUMMER"; |
