diff --git a/get_artist_art.c b/get_artist_art.c index 0d49101..b955184 100644 --- a/get_artist_art.c +++ b/get_artist_art.c @@ -1,13 +1,14 @@ -#include -#include #include +#include #include #include +#include #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; } \ No newline at end of file