/** * @brief Called when the tv show actors are downloaded * Starts download of banners * @see TheTvDb::parseAndAssignActors * @see TheTvDb::onBannersFinished */ void TheTvDb::onActorsFinished() { QNetworkReply *reply = static_cast<QNetworkReply*>(QObject::sender()); reply->deleteLater(); TvShow *show = reply->property("storage").value<Storage*>()->show(); TvShowUpdateType updateType = static_cast<TvShowUpdateType>(reply->property("updateType").toInt()); QList<int> infos = reply->property("infosToLoad").value<Storage*>()->infosToLoad(); if (!show) return; if (reply->error() == QNetworkReply::NoError ) { QString msg = QString::fromUtf8(reply->readAll()); if (show->infosToLoad().contains(TvShowScraperInfos::Actors) && (updateType == UpdateShow || updateType == UpdateShowAndAllEpisodes || updateType == UpdateShowAndNewEpisodes)) parseAndAssignActors(msg, show); } else { qWarning() << "Network Error" << reply->errorString(); } QString mirror = m_xmlMirrors.at(qrand()%m_xmlMirrors.count()); QUrl url(QString("%1/api/%2/series/%3/banners.xml").arg(mirror).arg(m_apiKey).arg(show->tvdbId())); reply = qnam()->get(QNetworkRequest(url)); reply->setProperty("storage", Storage::toVariant(reply, show)); reply->setProperty("updateType", updateType); reply->setProperty("infosToLoad", Storage::toVariant(reply, infos)); connect(reply, SIGNAL(finished()), this, SLOT(onBannersFinished())); }
void Cinefacts::actorsFinished() { QNetworkReply *reply = static_cast<QNetworkReply*>(QObject::sender()); Movie *movie = reply->property("storage").value<Storage*>()->movie(); QList<int> infos = reply->property("infosToLoad").value<Storage*>()->infosToLoad(); QString cinefactsId = reply->property("cinefactsId").toString(); reply->deleteLater(); if (!movie) return; if (reply->error() == QNetworkReply::NoError) { QString msg = QString::fromUtf8(reply->readAll()); parseAndAssignActors(msg, movie, reply->property("infosToLoad").value<Storage*>()->infosToLoad()); reply = qnam()->get(QNetworkRequest(QUrl(QString("http://www.cinefacts.de/Filme/%1/Bildergalerie/").arg(cinefactsId)))); reply->setProperty("storage", Storage::toVariant(reply, movie)); reply->setProperty("cinefactsId", cinefactsId); reply->setProperty("infosToLoad", Storage::toVariant(reply, infos)); connect(reply, SIGNAL(finished()), this, SLOT(imagesFinished())); } else { qWarning() << "Network Error" << reply->errorString(); movie->controller()->scraperLoadDone(this); } }