void PluginTrack::loadTrack(const QString &service, const QVariantMap &track) { setService(service); setArtist(track.value("artist").toString()); setArtistId(track.value("artistId").toString()); setDate(track.value("date").toString()); setDescription(track.value("description").toString()); setDownloadable(track.value("downloadable", true).toBool()); setFormat(track.value("format").toString()); setGenre(track.value("genre").toString()); setId(track.value("id").toString()); setLargeThumbnailUrl(track.value("largeThumbnailUrl").toString()); setPlayCount(track.value("playCount").toLongLong()); setStreamUrl(track.value("streamUrl").toString()); setThumbnailUrl(track.value("thumbnailUrl").toString()); setTitle(track.value("title").toString()); setUrl(track.value("url").toString()); if (track.value("duration").type() == QVariant::String) { setDurationString(track.value("duration").toString()); } else { setDuration(track.value("duration").toLongLong()); } if (track.value("size").type() == QVariant::String) { setSizeString(track.value("size").toString()); } else { setSize(track.value("size").toLongLong()); } }
void PluginArtist::loadArtist(const QString &service, const QVariantMap &artist) { setService(service); setDescription(artist.value("description").toString()); setId(artist.value("id").toString()); setLargeThumbnailUrl(artist.value("largeThumbnailUrl").toString()); setName(artist.value("name").toString()); setThumbnailUrl(artist.value("thumbnailUrl").toString()); }
void DailymotionComment::loadComment(const QVariantMap &comment) { setBody(comment.value("message").toString()); setDate(QDateTime::fromTime_t(comment.value("created_time").toLongLong()).toString("dd MMM yyyy")); setId(comment.value("id").toString()); setThumbnailUrl(comment.value("owner.avatar_60_url").toString()); setUserId(comment.value("owner.id").toString()); setUsername(comment.value("owner.screenname").toString()); setVideoId(comment.value("video.id").toString()); }
void PluginPlaylist::loadPlaylist(const QString &service, const QVariantMap &playlist) { setService(service); setDate(playlist.value("date").toString()); setDescription(playlist.value("description").toString()); setId(playlist.value("id").toString()); setLargeThumbnailUrl(playlist.value("largeThumbnailUrl").toString()); setThumbnailUrl(playlist.value("thumbnailUrl").toString()); setTitle(playlist.value("title").toString()); setUserId(playlist.value("userId").toString()); setUsername(playlist.value("username").toString()); setVideoCount(playlist.value("videoCount").toInt()); }
void PluginVideo::loadVideo(const QString &service, const QVariantMap &video) { setService(service); setDate(video.value("date").toString()); setDescription(video.value("description").toString()); setDownloadable(video.value("downloadable", true).toBool()); setDuration(video.value("duration").toString()); setId(video.value("id").toString()); setLargeThumbnailUrl(video.value("largeThumbnailUrl").toString()); setStreamUrl(video.value("streamUrl").toString()); setThumbnailUrl(video.value("thumbnailUrl").toString()); setTitle(video.value("title").toString()); setUrl(video.value("url").toString()); setUserId(video.value("userId").toString()); setUsername(video.value("username").toString()); setViewCount(video.value("viewCount").toLongLong()); }
void onSnippetRequestSuccess(QVariant response) { qDebug() << "Got snippet info for video:" << _downloadData->videoId(); QVariantMap top = response.toJsonObject().toVariantMap(); Q_ASSERT(!top.isEmpty() && top.contains("items")); QList<QVariant> lst = top["items"].toList(); Q_ASSERT(!lst.empty() && lst.size() == 1); QVariantMap map = lst.at(0).toMap(); Q_ASSERT(!map.isEmpty() && map.contains("snippet") && map.contains("contentDetails")); QVariantMap snippet = map["snippet"].toMap(); Q_ASSERT(!snippet.isEmpty() && snippet.contains("thumbnails") && snippet.contains("title")); QVariantMap thumbnails = snippet["thumbnails"].toMap(); Q_ASSERT(!thumbnails.isEmpty() && thumbnails.contains("default")); QVariantMap contentDetails = map["contentDetails"].toMap(); Q_ASSERT(!contentDetails.isEmpty() && contentDetails.contains("duration")); QVariantMap quality; if (thumbnails.contains("high")) quality = thumbnails["high"].toMap(); else if (thumbnails.contains("medium")) quality = thumbnails["medium"].toMap(); else quality = thumbnails["default"].toMap(); QString url = quality["url"].toString(); setThumbnailUrl(QUrl(url)); _downloadData->setTitle(snippet["title"].toString()); _downloadData->setDuration(contentDetails["duration"].toString()); _snippetRequest->deleteLater(); _snippetRequest = NULL; beginDataDownloadsIfPossible(); }