From ca49eef152db41ac30df2fd6a1b4631f81491b6b Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sat, 2 Oct 2021 04:56:27 +0200 Subject: Show genre as reactions for mangadex and anilist --- src/plugins/AniList.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'src/plugins/AniList.cpp') diff --git a/src/plugins/AniList.cpp b/src/plugins/AniList.cpp index 5043eb7..3559a81 100644 --- a/src/plugins/AniList.cpp +++ b/src/plugins/AniList.cpp @@ -241,6 +241,17 @@ query ($id: Int, $page: Int, $perPage: Int) { return result; } + static void add_genres(const Json::Value &genres_json, BodyItem *body_item) { + if(!genres_json.isArray()) + return; + + for(const Json::Value &genre_json : genres_json) { + if(!genre_json.isString()) + continue; + body_item->add_reaction(genre_json.asString(), nullptr); + } + } + static void description_remove_html(std::string &description) { string_replace_all(description, "", ""); string_replace_all(description, "", ""); @@ -374,12 +385,6 @@ query ($id: Int, $page: Int, $perPage: Int) { description += media_status_to_readable(status_json.asCString(), media_type); } - if(genres_json.isArray() && genres_json.size() > 0) { - if(!description.empty()) - description += '\n'; - description += "Genres: " + json_string_array_to_string(genres_json); - } - if(description_json.isString()) { if(!description.empty()) description += "\n\n"; @@ -387,6 +392,7 @@ query ($id: Int, $page: Int, $perPage: Int) { std::string synopsis = description_json.asString(); description_remove_html(synopsis); + synopsis = strip(synopsis); description += std::move(synopsis); } @@ -404,6 +410,7 @@ query ($id: Int, $page: Int, $perPage: Int) { body_item->thumbnail_url = cover_img_sized_json.asString(); } body_item->thumbnail_size = thumbnail_size_get_prediced_size(thumbnail_size); + add_genres(genres_json, body_item.get()); return body_item; } -- cgit v1.2.3