void UserLoader::parseAnime(const QJsonObject &t_reply) { QJsonObject result = t_reply; auto id = QString::number(result.value("id").toInt()); auto title_language = User::sharedUser()->titleLanguage(); AnimePtr anime = User::sharedUser()->getAnimeByID(id); if (anime == AnimePtr(nullptr)) { anime = Anime::makeAnime(); User::sharedUser()->addKnownAnime(anime); } auto description = result.value("description").toString(); auto airing = result.value("airing").toObject(); anime->setDuration(result.value("duration").toInt()); anime->setDescription(description); anime->setTitleRomaji(result.value("title_romaji").toString()); anime->setTitleJapanese(result.value("title_japanese").toString()); anime->setTitleEnglish(result.value("title_english").toString()); anime->setType(result.value("type").toString()); anime->setAiringStatus(result.value("airing_status").toString()); anime->setAverageScore(result.value("average_score").toString().toDouble()); anime->setTotalEpisodes(result.value("total_episodes").toInt()); anime->setAdult(result.value("adult").toBool()); anime->setTitle(result.value(title_language).toString()); anime->setNextEpisode(airing.value("next_episode").toInt()); anime->setCountdown(airing.value("countdown").toInt()); anime->finishLoad(); qDebug() << "Loaded extra data for anime" << anime->title(); }