USERAGENT identifier has been added.
The request to MusicBrainz is now returning real results.
This commit is contained in:
parent
9530bb9190
commit
6189a8b17f
131
get_artist_art.c
131
get_artist_art.c
@ -1,13 +1,14 @@
|
||||
#include <libconfig.h>
|
||||
#include <unistd.h>
|
||||
#include <curl/curl.h>
|
||||
#include <libconfig.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#define conf_file "config.ini"
|
||||
#define mb_url "https://musicbrainz.org/ws/2/artist?query=artist:\"Slayer\"&fmt=json"
|
||||
#define mb_url \
|
||||
"https://musicbrainz.org/ws/2/artist?query=artist:\"Slayer\"&fmt=json"
|
||||
|
||||
const char *get_conf_str(char set_key[10]) {
|
||||
const char *get_conf_str(char set_key[]) {
|
||||
const char *prog_conf = malloc(10 * sizeof(char));
|
||||
config_t cfg;
|
||||
config_setting_t *setting;
|
||||
@ -29,7 +30,7 @@ const char *get_conf_str(char set_key[10]) {
|
||||
return prog_conf;
|
||||
}
|
||||
|
||||
int get_conf_int(char set_key[10]) {
|
||||
int get_conf_int(char set_key[]) {
|
||||
int set_int;
|
||||
config_t cfg;
|
||||
config_setting_t *setting;
|
||||
@ -51,7 +52,7 @@ int get_conf_int(char set_key[10]) {
|
||||
return set_int;
|
||||
}
|
||||
|
||||
void print_conf(const char m_dir[20], const int mb_conf,
|
||||
void print_conf(const char m_dir[], const int mb_conf,
|
||||
const char ftv_api_key[32]) {
|
||||
if (m_dir != NULL) {
|
||||
printf("The music directory is: %s\n", m_dir);
|
||||
@ -64,52 +65,52 @@ void print_conf(const char m_dir[20], const int mb_conf,
|
||||
}
|
||||
}
|
||||
|
||||
const char* get_mb_id(){
|
||||
int response_code;
|
||||
const char *mb_id;
|
||||
CURL *curl;
|
||||
CURLcode res;
|
||||
char *buffer;
|
||||
long res_len;
|
||||
|
||||
curl_global_init(CURL_GLOBAL_DEFAULT);
|
||||
|
||||
curl = curl_easy_init();
|
||||
|
||||
if (curl) {
|
||||
curl_easy_setopt(curl, CURLOPT_URL, mb_url);
|
||||
|
||||
res = curl_easy_perform(curl);
|
||||
|
||||
if (res != CURLE_OK) {
|
||||
fprintf(stderr, "curl_easy_perform() failed with error: %s\n", curl_easy_strerror(res));
|
||||
return "1";
|
||||
}
|
||||
|
||||
curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, &res_len);
|
||||
|
||||
buffer = malloc(res_len);
|
||||
|
||||
res = curl_easy_recv(curl, buffer, res_len, 0);
|
||||
|
||||
if(res != CURLE_OK){
|
||||
fprintf(stderr, "curl_easy_recv() failed with error: %s\n", curl_easy_strerror(res));
|
||||
return "1";
|
||||
}
|
||||
|
||||
printf("Response body: %s\n", buffer);
|
||||
|
||||
free(buffer);
|
||||
|
||||
curl_easy_cleanup(curl);
|
||||
}
|
||||
|
||||
|
||||
return mb_id;
|
||||
const char *get_mb_id() {
|
||||
int response_code;
|
||||
const char *mb_id;
|
||||
CURL *curl;
|
||||
CURLcode res;
|
||||
char *buffer;
|
||||
long res_len;
|
||||
|
||||
curl_global_init(CURL_GLOBAL_DEFAULT);
|
||||
|
||||
curl = curl_easy_init();
|
||||
|
||||
if (curl) {
|
||||
curl_easy_setopt(curl, CURLOPT_URL, mb_url);
|
||||
curl_easy_setopt(curl, CURLOPT_USERAGENT, "get_artist_art.py/1.0");
|
||||
|
||||
res = curl_easy_perform(curl);
|
||||
|
||||
if (res != CURLE_OK) {
|
||||
fprintf(stderr, "curl_easy_perform() failed with error: %s\n",
|
||||
curl_easy_strerror(res));
|
||||
return "1";
|
||||
}
|
||||
|
||||
curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, &res_len);
|
||||
|
||||
buffer = malloc(res_len);
|
||||
|
||||
res = curl_easy_recv(curl, buffer, res_len, 0);
|
||||
|
||||
if (res != CURLE_OK) {
|
||||
fprintf(stderr, "curl_easy_recv() failed with error: %s\n",
|
||||
curl_easy_strerror(res));
|
||||
return "1";
|
||||
}
|
||||
|
||||
printf("Response body: %s\n", buffer);
|
||||
|
||||
free(buffer);
|
||||
|
||||
curl_easy_cleanup(curl);
|
||||
}
|
||||
|
||||
return mb_id;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
int mb_conf, opt;
|
||||
const char *m_dir, *ftv_api_key;
|
||||
@ -118,21 +119,21 @@ int main(int argc, char **argv) {
|
||||
mb_conf = get_conf_int("confidence");
|
||||
ftv_api_key = get_conf_str("api_key");
|
||||
|
||||
while ((opt = getopt(argc, argv, "ps:")) != -1){
|
||||
switch (opt) {
|
||||
case 'p':
|
||||
print_conf(m_dir, mb_conf, ftv_api_key);
|
||||
break;
|
||||
case 's':
|
||||
printf("This doesn't do anything yet but you searched for %s\n", optarg);
|
||||
break;
|
||||
default:
|
||||
printf("So long and thanks for all the fish.\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
get_mb_id();
|
||||
while ((opt = getopt(argc, argv, "ps:")) != -1) {
|
||||
switch (opt) {
|
||||
case 'p':
|
||||
print_conf(m_dir, mb_conf, ftv_api_key);
|
||||
break;
|
||||
case 's':
|
||||
printf("This doesn't do anything yet but you searched for %s\n", optarg);
|
||||
break;
|
||||
default:
|
||||
printf("So long and thanks for all the fish.\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
get_mb_id();
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user