1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-03-20 07:49:42 +01:00

Actually use cache in musicbrainz plugin. We were caching the data but not fetching from the cache

This commit is contained in:
Leo Franchi 2011-10-28 12:08:02 -04:00
parent f8def37879
commit 4ffbd839eb
4 changed files with 42 additions and 9 deletions

View File

@ -50,7 +50,6 @@ MusicBrainzPlugin::namChangedSlot( QNetworkAccessManager *nam )
m_nam = QWeakPointer< QNetworkAccessManager >( nam );
}
void
MusicBrainzPlugin::getInfo( Tomahawk::InfoSystem::InfoRequestData requestData )
{
@ -66,13 +65,48 @@ MusicBrainzPlugin::getInfo( Tomahawk::InfoSystem::InfoRequestData requestData )
return;
}
switch ( requestData.type )
{
case InfoArtistReleases:
{
Tomahawk::InfoSystem::InfoStringHash criteria;
criteria["artist"] = hash["artist"];
emit getCachedInfo( criteria, 2419200000, requestData );
break;
}
case InfoAlbumSongs:
{
Tomahawk::InfoSystem::InfoStringHash criteria;
criteria["artist"] = hash["artist"];
criteria["album"] = hash["album"];
emit getCachedInfo( criteria, 2419200000, requestData );
break;
}
default:
{
Q_ASSERT( false );
break;
}
}
}
void
MusicBrainzPlugin::notInCacheSlot( InfoStringHash criteria, InfoRequestData requestData )
{
switch ( requestData.type )
{
case InfoArtistReleases:
{
QString requestString( "http://musicbrainz.org/ws/2/artist" );
QUrl url( requestString );
url.addQueryItem( "query", hash["artist"] );
url.addQueryItem( "query", criteria["artist"] );
QNetworkReply* reply = m_nam.data()->get( QNetworkRequest( url ) );
reply->setProperty( "requestData", QVariant::fromValue< Tomahawk::InfoSystem::InfoRequestData >( requestData ) );
@ -84,7 +118,7 @@ MusicBrainzPlugin::getInfo( Tomahawk::InfoSystem::InfoRequestData requestData )
{
QString requestString( "http://musicbrainz.org/ws/2/artist" );
QUrl url( requestString );
url.addQueryItem( "query", hash["artist"] );
url.addQueryItem( "query", criteria["artist"] );
QNetworkReply* reply = m_nam.data()->get( QNetworkRequest( url ) );
reply->setProperty( "requestData", QVariant::fromValue< Tomahawk::InfoSystem::InfoRequestData >( requestData ) );

View File

@ -43,6 +43,7 @@ public slots:
protected slots:
virtual void getInfo( Tomahawk::InfoSystem::InfoRequestData requestData );
virtual void notInCacheSlot( InfoStringHash criteria, InfoRequestData requestData );
virtual void pushInfo( QString caller, Tomahawk::InfoSystem::InfoType type, QVariant data )
{
@ -51,11 +52,6 @@ protected slots:
Q_UNUSED( data );
}
virtual void notInCacheSlot( Tomahawk::InfoSystem::InfoStringHash criteria, Tomahawk::InfoSystem::InfoRequestData requestData )
{
Q_UNUSED( criteria );
Q_UNUSED( requestData );
}
private slots:
void artistSearchSlot();

View File

@ -267,6 +267,9 @@ SpotifyPlugin::chartTypes()
}
QVariantMap defaultMap;
defaultMap[ "Spotify" ] = QStringList() << "United States" << "Top Albums";
m_allChartsMap[ "defaults" ] = defaultMap;
m_allChartsMap.insert( "Spotify", QVariant::fromValue<QVariantMap>( charts ) );
}

View File

@ -198,7 +198,7 @@ InfoSystemWorker::getInfo( Tomahawk::InfoSystem::InfoRequestData requestData, ui
requestData.internalId = TomahawkUtils::infosystemRequestId();
else
requestData.internalId = requestData.requestId;
quint64 requestId = requestData.internalId;
m_requestSatisfiedMap[ requestId ] = false;
if ( timeoutMillis != 0 )