mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-11 16:44:05 +02:00
Actually use cache in musicbrainz plugin. We were caching the data but not fetching from the cache
This commit is contained in:
@@ -50,7 +50,6 @@ MusicBrainzPlugin::namChangedSlot( QNetworkAccessManager *nam )
|
|||||||
m_nam = QWeakPointer< QNetworkAccessManager >( nam );
|
m_nam = QWeakPointer< QNetworkAccessManager >( nam );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
MusicBrainzPlugin::getInfo( Tomahawk::InfoSystem::InfoRequestData requestData )
|
MusicBrainzPlugin::getInfo( Tomahawk::InfoSystem::InfoRequestData requestData )
|
||||||
{
|
{
|
||||||
@@ -66,13 +65,48 @@ MusicBrainzPlugin::getInfo( Tomahawk::InfoSystem::InfoRequestData requestData )
|
|||||||
return;
|
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 )
|
switch ( requestData.type )
|
||||||
{
|
{
|
||||||
case InfoArtistReleases:
|
case InfoArtistReleases:
|
||||||
{
|
{
|
||||||
QString requestString( "http://musicbrainz.org/ws/2/artist" );
|
QString requestString( "http://musicbrainz.org/ws/2/artist" );
|
||||||
QUrl url( requestString );
|
QUrl url( requestString );
|
||||||
url.addQueryItem( "query", hash["artist"] );
|
url.addQueryItem( "query", criteria["artist"] );
|
||||||
QNetworkReply* reply = m_nam.data()->get( QNetworkRequest( url ) );
|
QNetworkReply* reply = m_nam.data()->get( QNetworkRequest( url ) );
|
||||||
reply->setProperty( "requestData", QVariant::fromValue< Tomahawk::InfoSystem::InfoRequestData >( requestData ) );
|
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" );
|
QString requestString( "http://musicbrainz.org/ws/2/artist" );
|
||||||
QUrl url( requestString );
|
QUrl url( requestString );
|
||||||
url.addQueryItem( "query", hash["artist"] );
|
url.addQueryItem( "query", criteria["artist"] );
|
||||||
QNetworkReply* reply = m_nam.data()->get( QNetworkRequest( url ) );
|
QNetworkReply* reply = m_nam.data()->get( QNetworkRequest( url ) );
|
||||||
reply->setProperty( "requestData", QVariant::fromValue< Tomahawk::InfoSystem::InfoRequestData >( requestData ) );
|
reply->setProperty( "requestData", QVariant::fromValue< Tomahawk::InfoSystem::InfoRequestData >( requestData ) );
|
||||||
|
|
||||||
|
@@ -43,6 +43,7 @@ public slots:
|
|||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
virtual void getInfo( Tomahawk::InfoSystem::InfoRequestData requestData );
|
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 )
|
virtual void pushInfo( QString caller, Tomahawk::InfoSystem::InfoType type, QVariant data )
|
||||||
{
|
{
|
||||||
@@ -51,11 +52,6 @@ protected slots:
|
|||||||
Q_UNUSED( data );
|
Q_UNUSED( data );
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void notInCacheSlot( Tomahawk::InfoSystem::InfoStringHash criteria, Tomahawk::InfoSystem::InfoRequestData requestData )
|
|
||||||
{
|
|
||||||
Q_UNUSED( criteria );
|
|
||||||
Q_UNUSED( requestData );
|
|
||||||
}
|
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void artistSearchSlot();
|
void artistSearchSlot();
|
||||||
|
@@ -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 ) );
|
m_allChartsMap.insert( "Spotify", QVariant::fromValue<QVariantMap>( charts ) );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user