Mercurial > minori
comparison src/services/anilist.cc @ 321:8141f409d52c
services/anilist: fix getting producers
should studios and producers be stored separately?
| author | Paper <paper@paper.us.eu.org> |
|---|---|
| date | Wed, 12 Jun 2024 20:42:44 -0400 |
| parents | 1b5c04268d6a |
| children | 1686fac290c5 |
comparison
equal
deleted
inserted
replaced
| 320:1b5c04268d6a | 321:8141f409d52c |
|---|---|
| 49 "startDate {\n" \ | 49 "startDate {\n" \ |
| 50 " year\n" \ | 50 " year\n" \ |
| 51 " month\n" \ | 51 " month\n" \ |
| 52 " day\n" \ | 52 " day\n" \ |
| 53 "}\n" \ | 53 "}\n" \ |
| 54 "studios {\n" \ | |
| 55 " edges {\n" \ | |
| 56 " node {\n" \ | |
| 57 " name\n" \ | |
| 58 " }\n" \ | |
| 59 " }\n" \ | |
| 60 "}\n" \ | |
| 54 "genres\n" \ | 61 "genres\n" \ |
| 55 "episodes\n" \ | 62 "episodes\n" \ |
| 56 "duration\n" \ | 63 "duration\n" \ |
| 57 "synonyms\n" \ | 64 "synonyms\n" \ |
| 58 "description(asHtml: false)\n" | 65 "description(asHtml: false)\n" |
| 190 Strings::TextifySynopsis(synopsis); | 197 Strings::TextifySynopsis(synopsis); |
| 191 anime.SetSynopsis(synopsis); | 198 anime.SetSynopsis(synopsis); |
| 192 | 199 |
| 193 anime.SetGenres(JSON::GetArray<std::vector<std::string>>(json, "/genres"_json_pointer, {})); | 200 anime.SetGenres(JSON::GetArray<std::vector<std::string>>(json, "/genres"_json_pointer, {})); |
| 194 anime.SetTitleSynonyms(JSON::GetArray<std::vector<std::string>>(json, "/synonyms"_json_pointer, {})); | 201 anime.SetTitleSynonyms(JSON::GetArray<std::vector<std::string>>(json, "/synonyms"_json_pointer, {})); |
| 202 | |
| 203 { | |
| 204 std::vector<std::string> producers; | |
| 205 | |
| 206 if (json.contains("/studios/edges"_json_pointer) && json["/studios/edges"_json_pointer].is_array()) | |
| 207 for (const auto& edge : json["/studios/edges"_json_pointer]) | |
| 208 if (edge.contains("/node/name"_json_pointer) && edge["/node/name"_json_pointer].is_string()) | |
| 209 producers.push_back(edge["/node/name"_json_pointer].get<std::string>()); | |
| 210 | |
| 211 anime.SetProducers(producers); | |
| 212 } | |
| 195 | 213 |
| 196 return id; | 214 return id; |
| 197 } | 215 } |
| 198 | 216 |
| 199 static int ParseListItem(const nlohmann::json& json) { | 217 static int ParseListItem(const nlohmann::json& json) { |
