mirror of
https://gitdl.cn/https://github.com/chakralinux/desktop.git
synced 2025-02-13 03:19:03 +08:00
723 lines
28 KiB
Diff
723 lines
28 KiB
Diff
diff --git a/src/services/ampache/LastfmInfoParser.cpp b/src/services/ampache/LastfmInfoParser.cpp
|
|
index 50cb529516ce1358785fa04824cd32642a526495..0c6dd8fe9f6a491a88dfb062a09e2652976df0ef 100644
|
|
--- a/src/services/ampache/LastfmInfoParser.cpp
|
|
+++ b/amarok-2.5.0/src/services/ampache/LastfmInfoParser.cpp
|
|
@@ -20,8 +20,7 @@
|
|
#include "core/support/Amarok.h"
|
|
#include "core/support/Debug.h"
|
|
|
|
-#include <lastfm/XmlQuery>
|
|
-#include <lastfm/ws.h>
|
|
+#include <lastfm/XmlQuery.h>
|
|
|
|
#include <KLocale>
|
|
|
|
@@ -55,7 +54,8 @@ void LastfmInfoParser::onGetTrackInfo()
|
|
{
|
|
case QNetworkReply::NoError:
|
|
{
|
|
- lastfm::XmlQuery lfm = m_jobs[ "getTrackInfo" ]->readAll();
|
|
+ lastfm::XmlQuery lfm;
|
|
+ lfm.parse( m_jobs[ "getTrackInfo" ]->readAll() );
|
|
lastfm::XmlQuery wiki = lfm["track"]["wiki"];
|
|
const QString contentText = wiki["content"].text();
|
|
const QString publishedDate = wiki["published"].text();
|
|
@@ -103,7 +103,8 @@ void LastfmInfoParser::onGetAlbumInfo()
|
|
{
|
|
case QNetworkReply::NoError:
|
|
{
|
|
- lastfm::XmlQuery lfm = m_jobs[ "getAlbumInfo" ]->readAll();
|
|
+ lastfm::XmlQuery lfm;
|
|
+ lfm.parse( m_jobs[ "getAlbumInfo" ]->readAll() );
|
|
lastfm::XmlQuery wiki = lfm["album"]["wiki"];
|
|
const QString summaryText = wiki["summary"].text();
|
|
const QString contentText = wiki["content"].text();
|
|
@@ -155,7 +156,8 @@ void LastfmInfoParser::onGetArtistInfo()
|
|
{
|
|
case QNetworkReply::NoError:
|
|
{
|
|
- lastfm::XmlQuery lfm = m_jobs[ "getArtistInfo" ]->readAll();
|
|
+ lastfm::XmlQuery lfm;
|
|
+ lfm.parse( m_jobs[ "getArtistInfo" ]->readAll() );
|
|
debug() << lfm.text();
|
|
lastfm::XmlQuery bio = lfm["artist"]["bio"];
|
|
const QString summaryText = bio["summary"].text();
|
|
diff --git a/src/services/lastfm/LastFmService.cpp b/src/services/lastfm/LastFmService.cpp
|
|
index a14d989b3fac81e545df095adee36580b052fea7..c9898aa1fcd16ca8070eec66231db23c1beddff2 100644
|
|
--- a/amarok-2.5.0/src/services/lastfm/LastFmService.cpp
|
|
+++ b/amarok-2.5.0/src/services/lastfm/LastFmService.cpp
|
|
@@ -46,8 +46,8 @@
|
|
#include "widgets/SearchWidget.h"
|
|
#include "NetworkAccessManagerProxy.h"
|
|
|
|
-#include <lastfm/Audioscrobbler> // from liblastfm
|
|
-#include <lastfm/XmlQuery>
|
|
+#include <lastfm/Audioscrobbler.h> // from liblastfm
|
|
+#include <lastfm/XmlQuery.h>
|
|
|
|
#include <KLocale>
|
|
#include <KPasswordDialog>
|
|
@@ -224,10 +224,7 @@ LastFmService::init()
|
|
{
|
|
// set the global static Lastfm::Ws stuff
|
|
lastfm::ws::ApiKey = Amarok::lastfmApiKey();
|
|
- lastfm::ws::SharedSecret = "fe0dcde9fcd14c2d1d50665b646335e9";
|
|
- // testing w/ official keys
|
|
- //Ws::SharedSecret = "73582dfc9e556d307aead069af110ab8";
|
|
- //Ws::ApiKey = "c8c7b163b11f92ef2d33ba6cd3c2c3c3";
|
|
+ lastfm::ws::SharedSecret = Amarok::lastfmApiSharedSecret();
|
|
m_userNameArray = qstrdup( m_userName.toLatin1().data() );
|
|
lastfm::ws::Username = m_userNameArray;
|
|
if( lastfm::nam() != The::networkAccessManager() )
|
|
@@ -309,7 +306,8 @@ LastFmService::onAuthenticated()
|
|
case QNetworkReply::NoError:
|
|
{
|
|
|
|
- lastfm::XmlQuery lfm = lastfm::XmlQuery( m_jobs[ "auth" ]->readAll() );
|
|
+ lastfm::XmlQuery lfm;
|
|
+ lfm.parse( m_jobs[ "auth" ]->readAll() );
|
|
LastFmServiceConfig config;
|
|
|
|
if( lfm.children( "error" ).size() > 0 )
|
|
@@ -359,10 +357,8 @@ LastFmService::onGetUserInfo()
|
|
{
|
|
case QNetworkReply::NoError:
|
|
{
|
|
- try
|
|
- {
|
|
- lastfm::XmlQuery lfm( m_jobs[ "getUserInfo" ]->readAll() );
|
|
-
|
|
+ lastfm::XmlQuery lfm;
|
|
+ if( lfm.parse( m_jobs[ "getUserInfo" ]->readAll() ) ) {
|
|
m_country = lfm["user"]["country"].text();
|
|
m_age = lfm["user"]["age"].text();
|
|
m_gender = lfm["user"]["gender"].text();
|
|
@@ -381,9 +377,10 @@ LastFmService::onGetUserInfo()
|
|
}
|
|
updateProfileInfo();
|
|
|
|
- } catch( lastfm::ws::ParseError& e )
|
|
+ }
|
|
+ else
|
|
{
|
|
- debug() << "Got exception in parsing from last.fm:" << e.what();
|
|
+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
|
|
}
|
|
break;
|
|
} case QNetworkReply::AuthenticationRequiredError:
|
|
diff --git a/src/services/lastfm/LastFmServiceCollection.cpp b/src/services/lastfm/LastFmServiceCollection.cpp
|
|
index 22f49ec0fe8e9f917f8a26f9d546ad147ad04e5b..0ed5505c1cd1350c85f21964e772f3c36cf6ae3e 100644
|
|
--- a/amarok-2.5.0/src/services/lastfm/LastFmServiceCollection.cpp
|
|
+++ b/amarok-2.5.0/src/services/lastfm/LastFmServiceCollection.cpp
|
|
@@ -26,7 +26,7 @@
|
|
#include "core-impl/collections/support/MemoryQueryMaker.h"
|
|
|
|
#include <lastfm/ws.h>
|
|
-#include <lastfm/XmlQuery>
|
|
+#include <lastfm/XmlQuery.h>
|
|
|
|
#include <QNetworkReply>
|
|
|
|
@@ -154,10 +154,9 @@ void LastFmServiceCollection::slotAddNeighboursLoved()
|
|
case QNetworkReply::NoError:
|
|
{
|
|
// iterate through each neighbour
|
|
- try
|
|
+ lastfm::XmlQuery lfm;
|
|
+ if( lfm.parse( m_jobs[ "user.getNeighbours" ]->readAll() ) )
|
|
{
|
|
- lastfm::XmlQuery lfm( m_jobs[ "user.getNeighbours" ]->readAll() );
|
|
-
|
|
foreach( const lastfm::XmlQuery &e, lfm[ "neighbours" ].children( "user" ) )
|
|
{
|
|
const QString name = e[ "name" ].text();
|
|
@@ -168,9 +167,10 @@ void LastFmServiceCollection::slotAddNeighboursLoved()
|
|
addTrack( trackPtr );
|
|
}
|
|
|
|
- } catch( lastfm::ws::ParseError& e )
|
|
+ }
|
|
+ else
|
|
{
|
|
- debug() << "Got exception in parsing from last.fm:" << e.what();
|
|
+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
|
|
}
|
|
break;
|
|
}
|
|
@@ -195,15 +195,14 @@ void LastFmServiceCollection::slotAddNeighboursPersonal()
|
|
case QNetworkReply::NoError:
|
|
{
|
|
// iterate through each neighbour
|
|
- try
|
|
+ if( !m_jobs[ "user.getNeighbours" ] )
|
|
+ {
|
|
+ debug() << "BAD! got no result object";
|
|
+ return;
|
|
+ }
|
|
+ lastfm::XmlQuery lfm;
|
|
+ if( lfm.parse( m_jobs[ "user.getNeighbours" ]->readAll() ) )
|
|
{
|
|
- if( !m_jobs[ "user.getNeighbours" ] )
|
|
- {
|
|
- debug() << "BAD! got no result object";
|
|
- return;
|
|
- }
|
|
- lastfm::XmlQuery lfm( m_jobs[ "user.getNeighbours" ]->readAll() );
|
|
-
|
|
// iterate through each neighbour
|
|
foreach( const lastfm::XmlQuery &e, lfm[ "neighbours" ].children( "user" ) )
|
|
{
|
|
@@ -218,9 +217,10 @@ void LastFmServiceCollection::slotAddNeighboursPersonal()
|
|
|
|
// should be safe, as both slots SHOULD get called before we return to the event loop...
|
|
m_jobs[ "user.getNeighbours" ]->deleteLater();
|
|
- } catch( lastfm::ws::ParseError& e )
|
|
+ }
|
|
+ else
|
|
{
|
|
- debug() << "Got exception in parsing from last.fm:" << e.what();
|
|
+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
|
|
}
|
|
break;
|
|
}
|
|
@@ -248,10 +248,9 @@ void LastFmServiceCollection::slotAddFriendsLoved()
|
|
{
|
|
case QNetworkReply::NoError:
|
|
{
|
|
- try
|
|
+ lastfm::XmlQuery lfm;
|
|
+ if( lfm.parse( m_jobs[ "user.getFriends" ]->readAll() ) )
|
|
{
|
|
- lastfm::XmlQuery lfm( m_jobs[ "user.getFriends" ]->readAll() );
|
|
-
|
|
foreach( const lastfm::XmlQuery &e, lfm[ "friends" ].children( "user" ) )
|
|
{
|
|
const QString name = e[ "name" ].text();
|
|
@@ -261,9 +260,10 @@ void LastFmServiceCollection::slotAddFriendsLoved()
|
|
addTrack( trackPtr );
|
|
}
|
|
|
|
- } catch( lastfm::ws::ParseError& e )
|
|
+ }
|
|
+ else
|
|
{
|
|
- debug() << "Got exception in parsing from last.fm:" << e.what();
|
|
+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
|
|
}
|
|
break;
|
|
}
|
|
@@ -293,10 +293,9 @@ void LastFmServiceCollection::slotAddFriendsPersonal()
|
|
{
|
|
case QNetworkReply::NoError:
|
|
{
|
|
- try
|
|
+ lastfm::XmlQuery lfm;
|
|
+ if( lfm.parse( m_jobs[ "user.getFriends" ]->readAll() ) )
|
|
{
|
|
- lastfm::XmlQuery lfm( m_jobs[ "user.getFriends" ]->readAll() );
|
|
-
|
|
foreach( const lastfm::XmlQuery &e, lfm[ "friends" ].children( "user" ) )
|
|
{
|
|
const QString name = e[ "name" ].text();
|
|
@@ -306,9 +305,10 @@ void LastFmServiceCollection::slotAddFriendsPersonal()
|
|
addTrack( trackPtr );
|
|
}
|
|
|
|
- } catch( lastfm::ws::ParseError& e )
|
|
+ }
|
|
+ else
|
|
{
|
|
- debug() << "Got exception in parsing from last.fm:" << e.what();
|
|
+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
|
|
}
|
|
break;
|
|
}
|
|
diff --git a/src/services/lastfm/LastFmServiceSettings.cpp b/src/services/lastfm/LastFmServiceSettings.cpp
|
|
index 2eff71e51dc30605b4d395323a01e24b8fa25d1e..9f67559b79fb218d4c5dba769fe98dcf5cea4b8b 100644
|
|
--- a/amarok-2.5.0/src/services/lastfm/LastFmServiceSettings.cpp
|
|
+++ b/amarok-2.5.0/src/services/lastfm/LastFmServiceSettings.cpp
|
|
@@ -23,9 +23,9 @@
|
|
#include "NetworkAccessManagerProxy.h"
|
|
#include "ui_LastFmConfigWidget.h"
|
|
|
|
-#include <lastfm/Audioscrobbler> // from liblastfm
|
|
+#include <lastfm/Audioscrobbler.h> // from liblastfm
|
|
#include <lastfm/ws.h>
|
|
-#include <lastfm/XmlQuery>
|
|
+#include <lastfm/XmlQuery.h>
|
|
|
|
#include <QCryptographicHash>
|
|
#include <QNetworkAccessManager>
|
|
@@ -100,7 +100,7 @@ LastFmServiceSettings::testLogin()
|
|
m_configDialog->testLogin->setText( i18n( "Testing..." ) );
|
|
// set the global static Lastfm::Ws stuff
|
|
lastfm::ws::ApiKey = Amarok::lastfmApiKey();
|
|
- lastfm::ws::SharedSecret = "fe0dcde9fcd14c2d1d50665b646335e9";
|
|
+ lastfm::ws::SharedSecret = Amarok::lastfmApiSharedSecret();
|
|
lastfm::ws::Username = qstrdup( m_configDialog->kcfg_ScrobblerUsername->text().toLatin1().data() );
|
|
if( lastfm::nam() != The::networkAccessManager() )
|
|
lastfm::setNetworkAccessManager( The::networkAccessManager() );
|
|
@@ -126,7 +126,8 @@ LastFmServiceSettings::onAuthenticated()
|
|
{
|
|
DEBUG_BLOCK
|
|
|
|
- lastfm::XmlQuery lfm = lastfm::XmlQuery( m_authQuery->readAll() );
|
|
+ lastfm::XmlQuery lfm;
|
|
+ lfm.parse( m_authQuery->readAll() );
|
|
|
|
switch( m_authQuery->error() )
|
|
{
|
|
diff --git a/src/services/lastfm/LastFmTreeModel.h b/src/services/lastfm/LastFmTreeModel.h
|
|
index ac171a57a36ec6bb5443035b11bea77e4ae94720..3aa2061afce8bb6c57e1a7f1cf0717af8f52a7d1 100644
|
|
--- a/amarok-2.5.0/src/services/lastfm/LastFmTreeModel.h
|
|
+++ b/amarok-2.5.0/src/services/lastfm/LastFmTreeModel.h
|
|
@@ -22,7 +22,7 @@
|
|
#include "core/meta/Meta.h"
|
|
#include "WeightedStringList.h"
|
|
|
|
-#include <lastfm/User>
|
|
+#include <lastfm/User.h>
|
|
|
|
#include <QAbstractItemModel>
|
|
#include <QHash>
|
|
@@ -136,7 +136,7 @@ private:
|
|
LastFmTreeItem *m_myTopArtists;
|
|
|
|
QString m_userName;
|
|
- lastfm::AuthenticatedUser m_user;
|
|
+ lastfm::User m_user;
|
|
|
|
QStringList m_friends;
|
|
QStringList m_neighbors;
|
|
diff --git a/src/services/lastfm/LastFmTreeModel.cpp b/src/services/lastfm/LastFmTreeModel.cpp
|
|
index 2d94d67c5fe10bfc1abba3dd9848fd1177daa518..4d47d4201bdd6bfc33ff58a4c94d75ff6a70ec46 100644
|
|
--- a/amarok-2.5.0/src/services/lastfm/LastFmTreeModel.cpp
|
|
+++ b/amarok-2.5.0/src/services/lastfm/LastFmTreeModel.cpp
|
|
@@ -26,8 +26,8 @@
|
|
#include "AmarokMimeData.h"
|
|
|
|
#include <lastfm/ws.h>
|
|
-#include <lastfm/Tag>
|
|
-#include <lastfm/XmlQuery>
|
|
+#include <lastfm/Tag.h>
|
|
+#include <lastfm/XmlQuery.h>
|
|
|
|
#include <KIcon>
|
|
#include <KLocale>
|
|
@@ -68,11 +68,12 @@ LastFmTreeModel::slotAddNeighbors ()
|
|
{
|
|
DEBUG_BLOCK
|
|
|
|
- try
|
|
- {
|
|
// Iterate over each neighbor, in two passes: 1) Get data 2) Sort data, store in model
|
|
|
|
- lastfm::XmlQuery lfm( m_jobs[ "getNeighbours" ]->readAll() );
|
|
+ lastfm::XmlQuery lfm;
|
|
+ lfm.parse( m_jobs[ "getNeighbours" ]->readAll() );
|
|
+ if( lfm.parseError().enumValue() == lastfm::ws::NoError )
|
|
+ {
|
|
foreach( const lastfm::XmlQuery &e, lfm[ "neighbours" ].children ( "user" ) )
|
|
{
|
|
const QString name = e[ "name" ].text();
|
|
@@ -88,11 +89,11 @@ LastFmTreeModel::slotAddNeighbors ()
|
|
appendUserStations( neighbor, name );
|
|
}
|
|
m_neighbors.sort();
|
|
+ } else {
|
|
+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
|
|
+ return;
|
|
}
|
|
- catch( lastfm::ws::ParseError e )
|
|
- {
|
|
- debug() << "Got exception in parsing from last.fm:" << e.what();
|
|
- }
|
|
+
|
|
emitRowChanged(LastFm::Neighbors);
|
|
m_jobs[ "getNeighbours" ]->deleteLater();
|
|
}
|
|
@@ -102,11 +103,11 @@ LastFmTreeModel::slotAddFriends ()
|
|
{
|
|
DEBUG_BLOCK
|
|
|
|
- try
|
|
- {
|
|
- // Iterate over each friend, in two passes: 1) Get data 2) Sort data, store in model
|
|
+ // Iterate over each friend, in two passes: 1) Get data 2) Sort data, store in model
|
|
|
|
- lastfm::XmlQuery lfm( m_jobs[ "getFriends" ]->readAll() );
|
|
+ lastfm::XmlQuery lfm;
|
|
+ if( lfm.parse( m_jobs[ "getFriends" ]->readAll() ) )
|
|
+ {
|
|
foreach( const lastfm::XmlQuery &e, lfm[ "friends" ].children ( "user" ) )
|
|
{
|
|
const QString name = e[ "name" ].text();
|
|
@@ -123,11 +124,11 @@ LastFmTreeModel::slotAddFriends ()
|
|
appendUserStations( afriend, name );
|
|
}
|
|
m_friends.sort();
|
|
+ } else {
|
|
+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
|
|
+ return;
|
|
}
|
|
- catch( lastfm::ws::ParseError e )
|
|
- {
|
|
- debug() << "Got exception in parsing from last.fm:" << e.what();
|
|
- }
|
|
+
|
|
emitRowChanged(LastFm::Friends);
|
|
m_jobs[ "getFriends" ]->deleteLater();
|
|
}
|
|
@@ -137,10 +138,9 @@ LastFmTreeModel::slotAddTopArtists ()
|
|
{
|
|
DEBUG_BLOCK
|
|
WeightedStringList list;
|
|
- try
|
|
+ lastfm::XmlQuery lfm;
|
|
+ if( lfm.parse( m_jobs[ "getTopArtists" ]->readAll() ) )
|
|
{
|
|
- lastfm::XmlQuery lfm( m_jobs[ "getTopArtists" ]->readAll() );
|
|
-
|
|
foreach( const lastfm::XmlQuery &e, lfm[ "topartists" ].children ( "artist" ) )
|
|
{
|
|
const QString name = e[ "name" ].text();
|
|
@@ -158,9 +158,10 @@ LastFmTreeModel::slotAddTopArtists ()
|
|
m_myTopArtists->appendChild ( artist );
|
|
}
|
|
|
|
- } catch( lastfm::ws::ParseError e )
|
|
+ }
|
|
+ else
|
|
{
|
|
- debug() << "Got exception in parsing from last.fm:" << e.what();
|
|
+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
|
|
}
|
|
emitRowChanged(LastFm::TopArtists);
|
|
m_jobs[ "getTopArtists" ]->deleteLater();
|
|
diff --git a/src/services/lastfm/ScrobblerAdapter.h b/src/services/lastfm/ScrobblerAdapter.h
|
|
index 67ed73b291cef61ee37b0ddae28ba1eadfd6304d..b276837c18b2181c1d7aba1674b878bfbf308e3b 100644
|
|
--- a/amarok-2.5.0/src/services/lastfm/ScrobblerAdapter.h
|
|
+++ b/amarok-2.5.0/src/services/lastfm/ScrobblerAdapter.h
|
|
@@ -20,8 +20,8 @@
|
|
|
|
#include "core/meta/Meta.h"
|
|
|
|
-#include <lastfm/Audioscrobbler>
|
|
-#include <lastfm/Track>
|
|
+#include <lastfm/Audioscrobbler.h>
|
|
+#include <lastfm/Track.h>
|
|
|
|
#include <QVariant>
|
|
|
|
diff --git a/src/services/lastfm/biases/LastFmBias.cpp b/src/services/lastfm/biases/LastFmBias.cpp
|
|
index b011b3299f98d851109d3d9ba52e6fd09855dcff..52307a4aa9ff48adf6c06b18b719717601494515 100644
|
|
--- a/amarok-2.5.0/src/services/lastfm/biases/LastFmBias.cpp
|
|
+++ b/amarok-2.5.0/src/services/lastfm/biases/LastFmBias.cpp
|
|
@@ -34,9 +34,8 @@
|
|
#include "core/collections/QueryMaker.h"
|
|
#include "core-impl/collections/support/CollectionManager.h"
|
|
|
|
-#include "lastfm/Artist"
|
|
-#include "lastfm/ws.h"
|
|
-#include "lastfm/XmlQuery"
|
|
+#include <lastfm/Artist.h>
|
|
+#include <lastfm/ws.h>
|
|
|
|
#include <QLabel>
|
|
#include <QComboBox>
|
|
diff --git a/src/services/lastfm/biases/WeeklyTopBias.cpp b/src/services/lastfm/biases/WeeklyTopBias.cpp
|
|
index df6dd6681f05d95a0e281d6e82224de2bbf001e6..2deb9ccba66f7ec0df36225506acea2e4f30905b 100644
|
|
--- a/amarok-2.5.0/src/services/lastfm/biases/WeeklyTopBias.cpp
|
|
+++ b/amarok-2.5.0/src/services/lastfm/biases/WeeklyTopBias.cpp
|
|
@@ -34,9 +34,9 @@
|
|
#include "core/collections/QueryMaker.h"
|
|
#include "core-impl/collections/support/CollectionManager.h"
|
|
|
|
-#include "lastfm/Artist"
|
|
-#include "lastfm/ws.h"
|
|
-#include "lastfm/XmlQuery"
|
|
+#include <lastfm/Artist.h>
|
|
+#include <lastfm/ws.h>
|
|
+#include <lastfm/XmlQuery.h>
|
|
|
|
#include <QNetworkReply>
|
|
|
|
@@ -371,10 +371,9 @@ Dynamic::WeeklyTopBias::weeklyArtistQueryFinished()
|
|
}
|
|
|
|
|
|
- try
|
|
+ lastfm::XmlQuery lfm;
|
|
+ if( lfm.parse( reply->readAll() ) )
|
|
{
|
|
- lastfm::XmlQuery lfm( reply->readAll() );
|
|
-
|
|
// debug() << "got response:" << lfm;
|
|
QStringList artists;
|
|
for( int i = 0; i < lfm[ "weeklyartistchart" ].children( "artist" ).size(); i++ )
|
|
@@ -398,10 +397,10 @@ Dynamic::WeeklyTopBias::weeklyArtistQueryFinished()
|
|
warning() << "Got a reply for a week"<<week<<"that was not requested.";
|
|
return;
|
|
}
|
|
-
|
|
- } catch( lastfm::ws::ParseError& e )
|
|
+ }
|
|
+ else
|
|
{
|
|
- debug() << "caught exception parsing weekly artist chart.";
|
|
+ debug() << "failed to parse weekly artist chart.";
|
|
}
|
|
|
|
reply->deleteLater();
|
|
diff --git a/src/services/lastfm/meta/LastFmMeta.h b/src/services/lastfm/meta/LastFmMeta.h
|
|
index f7b93c14c92c0bebf99d165656a0e34f8b991cc0..7d64a3fa5c6f6cbe3f0cc5b26881a4996321938a 100644
|
|
--- a/amarok-2.5.0/src/services/lastfm/meta/LastFmMeta.h
|
|
+++ b/amarok-2.5.0/src/services/lastfm/meta/LastFmMeta.h
|
|
@@ -24,7 +24,7 @@
|
|
#include "ServiceMetaBase.h" // for the SourceInfoProvider
|
|
|
|
|
|
-#include <lastfm/Track>
|
|
+#include <lastfm/Track.h>
|
|
|
|
|
|
#include <QObject>
|
|
diff --git a/src/services/lastfm/meta/LastFmMeta.cpp b/src/services/lastfm/meta/LastFmMeta.cpp
|
|
index d8f52845cb801d8ae940bc1bca77c7281ef18379..220d929977d28c8183db9965cecfc1a80039fe08 100644
|
|
--- a/amarok-2.5.0/src/services/lastfm/meta/LastFmMeta.cpp
|
|
+++ b/amarok-2.5.0/src/services/lastfm/meta/LastFmMeta.cpp
|
|
@@ -41,7 +41,7 @@
|
|
#include <QWeakPointer>
|
|
#include <QUrl>
|
|
|
|
-#include <lastfm/Track>
|
|
+#include <lastfm/Track.h>
|
|
|
|
namespace LastFm {
|
|
|
|
@@ -451,8 +451,7 @@ Track::love()
|
|
DEBUG_BLOCK
|
|
|
|
debug() << "info:" << d->lastFmTrack.artist() << d->lastFmTrack.title();
|
|
- d->wsReply = lastfm::MutableTrack( d->lastFmTrack ).love();
|
|
- connect( d->wsReply, SIGNAL( finished() ), this, SLOT( slotWsReply() ) );
|
|
+ lastfm::MutableTrack( d->lastFmTrack ).love();
|
|
}
|
|
|
|
void
|
|
@@ -477,9 +476,9 @@ void Track::slotResultReady()
|
|
{
|
|
if( d->trackFetch->error() == QNetworkReply::NoError )
|
|
{
|
|
- try
|
|
+ lastfm::XmlQuery lfm;
|
|
+ if( lfm.parse( d->trackFetch->readAll() ) )
|
|
{
|
|
- lastfm::XmlQuery lfm( d->trackFetch->readAll() );
|
|
QString id = lfm[ "track" ][ "id" ].text();
|
|
QString streamable = lfm[ "track" ][ "streamable" ].text();
|
|
if( streamable.toInt() == 1 )
|
|
@@ -487,9 +486,10 @@ void Track::slotResultReady()
|
|
else
|
|
init();
|
|
|
|
- } catch( lastfm::ws::ParseError& e )
|
|
+ }
|
|
+ else
|
|
{
|
|
- debug() << "Got exception in parsing from last.fm:" << e.what();
|
|
+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
|
|
}
|
|
} else
|
|
{
|
|
diff --git a/src/services/lastfm/meta/LastFmMeta_p.h b/src/services/lastfm/meta/LastFmMeta_p.h
|
|
index c2d88ac79a4dd0fe59b9f889baf72c879833f0d3..caf954a1e1acbf220ce8efa9d16db2a71cf4bbb3 100644
|
|
--- a/amarok-2.5.0/src/services/lastfm/meta/LastFmMeta_p.h
|
|
+++ b/amarok-2.5.0/src/services/lastfm/meta/LastFmMeta_p.h
|
|
@@ -26,10 +26,10 @@
|
|
#include "core/statistics/StatisticsProvider.h"
|
|
#include "core-impl/statistics/providers/tag/TagStatisticsProvider.h"
|
|
|
|
-#include <lastfm/Track>
|
|
+#include <lastfm/Track.h>
|
|
#include <lastfm/ws.h>
|
|
-#include <lastfm/RadioTuner>
|
|
-#include <lastfm/XmlQuery>
|
|
+#include <lastfm/RadioTuner.h>
|
|
+#include <lastfm/XmlQuery.h>
|
|
|
|
#include <kio/job.h>
|
|
#include <kio/jobclasses.h>
|
|
@@ -144,26 +144,24 @@ class Track::Private : public QObject
|
|
return;
|
|
if( m_userFetch->error() == QNetworkReply::NoError )
|
|
{
|
|
- try
|
|
+ lastfm::XmlQuery lfm;
|
|
+ if( !lfm.parse( m_userFetch->readAll() ) )
|
|
{
|
|
- lastfm::XmlQuery lfm( m_userFetch->readAll() );
|
|
- albumUrl = lfm[ "track" ][ "album" ][ "url" ].text();
|
|
- trackUrl = lfm[ "track" ][ "url" ].text();
|
|
- artistUrl = lfm[ "track" ][ "artist" ][ "url" ].text();
|
|
-
|
|
- notifyObservers();
|
|
+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
|
|
+ return;
|
|
+ }
|
|
+ albumUrl = lfm[ "track" ][ "album" ][ "url" ].text();
|
|
+ trackUrl = lfm[ "track" ][ "url" ].text();
|
|
+ artistUrl = lfm[ "track" ][ "artist" ][ "url" ].text();
|
|
|
|
- imageUrl = lfm[ "track" ][ "album" ][ "image size=large" ].text();
|
|
+ notifyObservers();
|
|
|
|
- if( !imageUrl.isEmpty() )
|
|
- {
|
|
- KIO::Job* job = KIO::storedGet( KUrl( imageUrl ), KIO::Reload, KIO::HideProgressInfo );
|
|
- connect( job, SIGNAL( result( KJob* ) ), this, SLOT( fetchImageFinished( KJob* ) ) );
|
|
- }
|
|
+ imageUrl = lfm[ "track" ][ "album" ][ "image size=large" ].text();
|
|
|
|
- } catch( lastfm::ws::ParseError& e )
|
|
+ if( !imageUrl.isEmpty() )
|
|
{
|
|
- debug() << "Got exception in parsing from last.fm:" << e.what();
|
|
+ KIO::Job* job = KIO::storedGet( KUrl( imageUrl ), KIO::Reload, KIO::HideProgressInfo );
|
|
+ connect( job, SIGNAL( result( KJob* ) ), this, SLOT( fetchImageFinished( KJob* ) ) );
|
|
}
|
|
}
|
|
|
|
diff --git a/src/services/lastfm/meta/MultiPlayableCapabilityImpl_p.h b/src/services/lastfm/meta/MultiPlayableCapabilityImpl_p.h
|
|
index 1c464cc2635c7d614eab48ca5e4e156c67870f04..e9b63271c77d3420cd8eeb5eb19d1152b23c319f 100644
|
|
--- a/amarok-2.5.0/src/services/lastfm/meta/MultiPlayableCapabilityImpl_p.h
|
|
+++ b/amarok-2.5.0/src/services/lastfm/meta/MultiPlayableCapabilityImpl_p.h
|
|
@@ -25,8 +25,9 @@
|
|
#include "core/meta/Meta.h"
|
|
#include "core/capabilities/MultiPlayableCapability.h"
|
|
|
|
-#include <lastfm/Track>
|
|
-#include <lastfm/RadioTuner>
|
|
+#include <lastfm/Track.h>
|
|
+#include <lastfm/RadioStation.h>
|
|
+#include <lastfm/RadioTuner.h>
|
|
#include <lastfm/ws.h>
|
|
|
|
#include <KLocale>
|
|
@@ -55,24 +56,23 @@ class MultiPlayableCapabilityImpl : public Capabilities::MultiPlayableCapability
|
|
{
|
|
DEBUG_BLOCK
|
|
m_tuner = new lastfm::RadioTuner( lastfm::RadioStation( m_track->uidUrl() ) );
|
|
-
|
|
+
|
|
connect( m_tuner, SIGNAL( trackAvailable() ), this, SLOT( slotNewTrackAvailable() ) );
|
|
- connect( m_tuner, SIGNAL( error( lastfm::ws::Error ) ), this, SLOT( error( lastfm::ws::Error ) ) );
|
|
+ connect( m_tuner, SIGNAL( error(lastfm::ws::Error,QString) ), this, SLOT( error( lastfm::ws::Error ) ) );
|
|
}
|
|
-
|
|
+
|
|
virtual void fetchNext()
|
|
{
|
|
DEBUG_BLOCK
|
|
m_currentTrack = m_tuner->takeNextTrack();
|
|
m_track->setTrackInfo( m_currentTrack );
|
|
-
|
|
}
|
|
-
|
|
+
|
|
using Observer::metadataChanged;
|
|
virtual void metadataChanged( Meta::TrackPtr track )
|
|
{
|
|
const LastFm::TrackPtr ltrack = LastFm::TrackPtr::dynamicCast( track );
|
|
-
|
|
+
|
|
if( ltrack.isNull() )
|
|
return;
|
|
|
|
@@ -94,7 +94,7 @@ class MultiPlayableCapabilityImpl : public Capabilities::MultiPlayableCapability
|
|
m_track->setTrackInfo( m_currentTrack );
|
|
}
|
|
}
|
|
-
|
|
+
|
|
virtual void skip()
|
|
{
|
|
fetchNext();
|
|
diff --git a/src/context/engines/upcomingevents/UpcomingEventsEngine.cpp b/src/context/engines/upcomingevents/UpcomingEventsEngine.cpp
|
|
index 4ae73d892cef3d4a41662f7ed15849ae773c16e3..689323cc753a3c693bc09870ea1a77e2574ec9a7 100644
|
|
--- a/amarok-2.5.0/src/context/engines/upcomingevents/UpcomingEventsEngine.cpp
|
|
+++ b/amarok-2.5.0/src/context/engines/upcomingevents/UpcomingEventsEngine.cpp
|
|
@@ -27,10 +27,6 @@
|
|
#include "EngineController.h"
|
|
#include "LastFmEventXmlParser.h"
|
|
|
|
-// LastFm
|
|
-#include <lastfm/XmlQuery>
|
|
-#include <lastfm/ws.h>
|
|
-
|
|
// KDE
|
|
#include <KDateTime>
|
|
|
|
diff --git a/src/core/support/Amarok.h b/src/core/support/Amarok.h
|
|
index c9852154dee74fb372bae435fdeefa92003d41b1..d8c91e789d02b204202c8a99b9459b8d10b3d90d 100644
|
|
--- a/amarok-2.5.0/src/core/support/Amarok.h
|
|
+++ b/amarok-2.5.0/src/core/support/Amarok.h
|
|
@@ -203,6 +203,7 @@ namespace Amarok
|
|
|
|
inline const char* discogsApiKey() { return "91734dd989"; }
|
|
inline const char* lastfmApiKey() { return "402d3ca8e9bc9d3cf9b85e1202944ca5"; }
|
|
+ inline const char* lastfmApiSharedSecret() { return "fe0dcde9fcd14c2d1d50665b646335e9"; }
|
|
inline const char* yahooBossApiKey() { return "oQepTNrV34G9Satb1dgRZ8hdl1uhJvguDSU5Knl2Xd4ALK85knYt6ylr.FTA57XMRBA-"; }
|
|
inline const char* flickrApiKey() { return "9c5a288116c34c17ecee37877397fe31"; }
|
|
}
|
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index 0d146c58bd382b4d4f379ebedddf1630d73db369..31183e59b69cdb3c7902d49bdb93a00a7fb35053 100644
|
|
--- a/amarok-2.5.0/CMakeLists.txt
|
|
+++ b/amarok-2.5.0/CMakeLists.txt
|
|
@@ -129,7 +129,7 @@ if( WITH_PLAYER )
|
|
# macro_log_feature( STRIGI_FOUND "strigi" "Index metadata of files" "http://strigi.sourceforge.net" FALSE "" "" )
|
|
|
|
macro_optional_find_package(LibLastFm)
|
|
- macro_log_feature( LIBLASTFM_FOUND "liblastfm" "Enable Last.Fm service, including scrobbling, song submissions, and suggested song dynamic playlists" "http://cdn.last.fm/src/liblastfm-0.3.0.tar.bz2" FALSE "0.3" "" )
|
|
+ macro_log_feature( LIBLASTFM_FOUND "liblastfm" "Enable Last.Fm service, including scrobbling, song submissions, and suggested song dynamic playlists" "http://cdn.last.fm/src/liblastfm-1.0.0.tar.gz" FALSE "1.0.0" "" )
|
|
macro_bool_to_01( LIBLASTFM_FOUND HAVE_LIBLASTFM )
|
|
|
|
macro_optional_find_package( FFmpeg )
|
|
diff --git a/cmake/modules/FindLibLastFm.cmake b/cmake/modules/FindLibLastFm.cmake
|
|
index 1d863b08489e27054a049e35d2d94667646db1f7..95dddb6c082c14c7a6b14eb4501e1283106c8fcf 100644
|
|
--- a/amarok-2.5.0/cmake/modules/FindLibLastFm.cmake
|
|
+++ b/amarok-2.5.0/cmake/modules/FindLibLastFm.cmake
|
|
@@ -6,7 +6,7 @@
|
|
# LIBLASTFM_FOUND, whether liblastfm was found
|
|
|
|
|
|
-find_path(LIBLASTFM_INCLUDE_DIR NAMES Audioscrobbler
|
|
+find_path(LIBLASTFM_INCLUDE_DIR NAMES lastfm
|
|
HINTS
|
|
~/usr/include
|
|
/opt/local/include
|
|
diff --git a/src/LastfmReadLabelCapability.cpp b/src/LastfmReadLabelCapability.cpp
|
|
index 385e6b9c065009b330e116e3d748b82c24f14e8d..d1fb28b6abf2dcf0cf5aaee71dedf1c5328cb59e 100644
|
|
--- a/amarok-2.5.0/src/LastfmReadLabelCapability.cpp
|
|
+++ b/amarok-2.5.0/src/LastfmReadLabelCapability.cpp
|
|
@@ -22,8 +22,7 @@
|
|
#include <QMap>
|
|
#include <QNetworkReply>
|
|
|
|
-#include <lastfm/XmlQuery>
|
|
-#include <ws.h>
|
|
+#include <lastfm/XmlQuery.h>
|
|
#include "core/support/Amarok.h"
|
|
|
|
namespace Capabilities
|
|
@@ -72,7 +71,8 @@ LastfmReadLabelCapability::onTagsFetched()
|
|
{
|
|
case QNetworkReply::NoError:
|
|
{
|
|
- lastfm::XmlQuery lfm = m_job->readAll();
|
|
+ lastfm::XmlQuery lfm;
|
|
+ lfm.parse(m_job->readAll());
|
|
QList<lastfm::XmlQuery> tags = lfm.children( "tag" );
|
|
QStringList ret;
|
|
foreach( const lastfm::XmlQuery &child, tags )
|