mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-04 13:17:34 +02:00
If we can't retrieve source list from cache, re-fetch.
This commit is contained in:
@@ -56,6 +56,8 @@ ChartsPlugin::ChartsPlugin()
|
|||||||
|
|
||||||
}
|
}
|
||||||
tDebug( LOGVERBOSE ) << Q_FUNC_INFO << "total sources" << m_chartResources.size() << source_qvarlist.size();
|
tDebug( LOGVERBOSE ) << Q_FUNC_INFO << "total sources" << m_chartResources.size() << source_qvarlist.size();
|
||||||
|
if( m_chartResources.size() == 0 )
|
||||||
|
fetchChartSourcesList( true );
|
||||||
m_supportedGetTypes << InfoChart << InfoChartCapabilities;
|
m_supportedGetTypes << InfoChart << InfoChartCapabilities;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -189,7 +191,7 @@ ChartsPlugin::notInCacheSlot( QHash<QString, QString> criteria, Tomahawk::InfoSy
|
|||||||
case InfoChartCapabilities:
|
case InfoChartCapabilities:
|
||||||
{
|
{
|
||||||
tDebug( LOGVERBOSE ) << Q_FUNC_INFO << "InfoChartCapabilities not in cache! Fetching...";
|
tDebug( LOGVERBOSE ) << Q_FUNC_INFO << "InfoChartCapabilities not in cache! Fetching...";
|
||||||
fetchChartSourcesList();
|
fetchChartSourcesList( false );
|
||||||
m_cachedRequests.append( requestData );
|
m_cachedRequests.append( requestData );
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@@ -205,10 +207,12 @@ ChartsPlugin::notInCacheSlot( QHash<QString, QString> criteria, Tomahawk::InfoSy
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ChartsPlugin::fetchChartSourcesList()
|
ChartsPlugin::fetchChartSourcesList( bool fetchOnlySourceList )
|
||||||
{
|
{
|
||||||
QUrl url = QUrl( QString( CHART_URL "charts" ) );
|
QUrl url = QUrl( QString( CHART_URL "charts" ) );
|
||||||
QNetworkReply* reply = TomahawkUtils::nam()->get( QNetworkRequest( url ) );
|
QNetworkReply* reply = TomahawkUtils::nam()->get( QNetworkRequest( url ) );
|
||||||
|
reply->setProperty( "only_source_list", fetchOnlySourceList );
|
||||||
|
|
||||||
|
|
||||||
tDebug() << "fetching:" << url;
|
tDebug() << "fetching:" << url;
|
||||||
connect( reply, SIGNAL( finished() ), SLOT( chartSourcesList() ) );
|
connect( reply, SIGNAL( finished() ), SLOT( chartSourcesList() ) );
|
||||||
@@ -241,7 +245,8 @@ ChartsPlugin::chartSourcesList()
|
|||||||
}
|
}
|
||||||
tDebug( LOGVERBOSE ) << Q_FUNC_INFO << "storing sources in cache" << m_chartResources;
|
tDebug( LOGVERBOSE ) << Q_FUNC_INFO << "storing sources in cache" << m_chartResources;
|
||||||
TomahawkUtils::Cache::instance()->putData( "ChartsPlugin", 172800000 /* 2 days */, "chart_sources", m_chartResources );
|
TomahawkUtils::Cache::instance()->putData( "ChartsPlugin", 172800000 /* 2 days */, "chart_sources", m_chartResources );
|
||||||
fetchAllChartSources();
|
if( !reply->property("only_source_list" ).toBool() )
|
||||||
|
fetchAllChartSources();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -81,7 +81,7 @@ private:
|
|||||||
* Fetch list of chart sources (e.g., itunes, billboard)
|
* Fetch list of chart sources (e.g., itunes, billboard)
|
||||||
* Populates the m_chartResources member.
|
* Populates the m_chartResources member.
|
||||||
*/
|
*/
|
||||||
void fetchChartSourcesList();
|
void fetchChartSourcesList( bool fetchOnlySourceList );
|
||||||
/**
|
/**
|
||||||
* Requests charts list for each chart source in m_chartResources
|
* Requests charts list for each chart source in m_chartResources
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user