Esempio n. 1
0
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());
    }
}
Esempio n. 2
0
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());
}
Esempio n. 4
0
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());    
}
Esempio n. 5
0
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();
    }