Add API key for Songkick and make artist calendar request.

This commit is contained in:
John Maguire 2012-05-30 13:30:02 -07:00
parent 32a2cbe6df
commit 1453086a80
2 changed files with 20 additions and 6 deletions

View File

@ -22,7 +22,9 @@
const char* SongkickConcerts::kSongkickArtistBucket = "id:songkick";
const char* SongkickConcerts::kSongkickArtistCalendarUrl =
"http://api.songkick.com/api/3.0/artists/%1/calendar.json?apikey=";
"http://api.songkick.com/api/3.0/artists/%1/calendar.json?"
"per_page=5&"
"apikey=8rgKfy1WU6IlJFfN";
SongkickConcerts::SongkickConcerts() {
@ -62,7 +64,13 @@ void SongkickConcerts::ArtistSearchFinished(QNetworkReply* reply, int id) {
return;
}
FetchSongkickCalendar(songkick_id, id);
QStringList split = songkick_id.split(':');
if (split.count() != 3) {
qLog(Error) << "Weird songkick id";
return;
}
FetchSongkickCalendar(split[2], id);
} catch (Echonest::ParseError& e) {
qLog(Error) << "Error parsing echonest reply:" << e.errorType() << e.what();
}
@ -70,9 +78,11 @@ void SongkickConcerts::ArtistSearchFinished(QNetworkReply* reply, int id) {
void SongkickConcerts::FetchSongkickCalendar(const QString& artist_id, int id) {
QUrl url(QString(kSongkickArtistCalendarUrl).arg(artist_id));
qLog(Debug) << "Would send request to:" << url;
qLog(Debug) << url;
QNetworkReply* reply = network_.get(QNetworkRequest(url));
NewClosure(reply, SIGNAL(finished()), this, SLOT(CalendarRequestFinished(QNetworkReply*, int)), reply, id);
}
void SongkickConcerts::CalendarRequestFinished() {
void SongkickConcerts::CalendarRequestFinished(QNetworkReply* reply, int id) {
qLog(Debug) << reply->readAll();
}

View File

@ -20,6 +20,8 @@
#include "songinfoprovider.h"
#include "core/network.h"
class QNetworkReply;
class SongkickConcerts : public SongInfoProvider {
@ -31,11 +33,13 @@ class SongkickConcerts : public SongInfoProvider {
private slots:
void ArtistSearchFinished(QNetworkReply* reply, int id);
void CalendarRequestFinished();
void CalendarRequestFinished(QNetworkReply* reply, int id);
private:
void FetchSongkickCalendar(const QString& artist_id, int id);
NetworkAccessManager network_;
static const char* kSongkickArtistBucket;
static const char* kSongkickArtistCalendarUrl;
};