49
* Construct a query command in m_request to search on the server.
47
* Send a query command to search on the server.
51
49
* @param cfg import source configuration
52
50
* @param artist artist to search
53
51
* @param album album to search
54
* @param dest the server to connect to is returned here
55
* @param destPort the port of the server is returned here
57
void DiscogsClient::constructFindQuery(
53
void DiscogsClient::sendFindQuery(
58
54
const ImportSourceConfig*,
59
const QString& artist, const QString& album,
60
QString& dest, int& destPort)
55
const QString& artist, const QString& album)
63
58
* Query looks like this:
64
59
* http://www.discogs.com/search?type=releases&q=amon+amarth+avenger&btn=Search
66
QString server(discogsServer);
67
QString what = artist + " " + album;
68
QString destNamePort(getProxyOrDest(server));
69
splitNamePort(destNamePort, dest, destPort);
72
splitNamePort(server, serverName, serverPort);
73
what.replace(QRegExp(" +"), " "); // collapse spaces
74
QCM_QUrl_encode(what);
75
what.replace("%20", "+"); // replace spaces by '+'
77
if (dest != serverName) {
78
m_request += "http://";
79
m_request += serverName;
80
if (serverPort != 80) {
82
m_request += QString::number(serverPort);
85
m_request += "/search?type=releases&q=";
87
m_request += "&btn=Search HTTP/1.0\r\nUser-Agent: Kid3/" VERSION "\r\nHost: ";
88
m_request += serverName;
89
m_request += "\r\nConnection: close\r\n\r\n";
61
sendRequest(discogsServer,
62
QString("/search?type=releases&q=") +
63
encodeUrlQuery(artist + " " + album) + "&btn=Search");
93
* Construct a query command in m_request to fetch the track list
67
* Send a query command to fetch the track list
96
70
* @param cfg import source configuration
97
71
* @param cat category
99
* @param dest the server to connect to is returned here
100
* @param destPort the port of the server is returned here
102
void DiscogsClient::constructTrackListQuery(
103
const ImportSourceConfig*, const QString& cat, const QString& id,
104
QString& dest, int& destPort)
74
void DiscogsClient::sendTrackListQuery(
75
const ImportSourceConfig*, const QString& cat, const QString& id)
107
78
* Query looks like this:
108
79
* http://www.discogs.com/release/761529
110
QString server(discogsServer);
111
QString destNamePort(getProxyOrDest(server));
112
splitNamePort(destNamePort, dest, destPort);
115
splitNamePort(server, serverName, serverPort);
117
if (dest != serverName) {
118
m_request += "http://";
119
m_request += serverName;
120
if (serverPort != 80) {
122
m_request += QString::number(serverPort);
129
m_request += " HTTP/1.0\r\nUser-Agent: Kid3/" VERSION "\r\nHost: ";
130
m_request += serverName;
131
m_request += "\r\nConnection: close\r\n\r\n";
81
sendRequest(discogsServer, QString("/") + cat + '/' + id);