remove useless stuff
This commit is contained in:
18
src/db.c
18
src/db.c
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
sqlite3 *db;
|
sqlite3 *db;
|
||||||
|
|
||||||
int h_db_open(const char *db_name) {
|
int db_open(const char *db_name) {
|
||||||
int ret;
|
int ret;
|
||||||
char *err_msg;
|
char *err_msg;
|
||||||
|
|
||||||
@ -18,7 +18,7 @@ int h_db_open(const char *db_name) {
|
|||||||
ret = sqlite3_open(db_name, &db);
|
ret = sqlite3_open(db_name, &db);
|
||||||
if (ret != SQLITE_OK) {
|
if (ret != SQLITE_OK) {
|
||||||
fprintf(stderr, "%s\n", sqlite3_errmsg(db));
|
fprintf(stderr, "%s\n", sqlite3_errmsg(db));
|
||||||
h_db_close();
|
db_close();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -27,14 +27,14 @@ int h_db_open(const char *db_name) {
|
|||||||
if (ret != SQLITE_OK) {
|
if (ret != SQLITE_OK) {
|
||||||
fprintf(stderr, "SQL error: %s\n", err_msg);
|
fprintf(stderr, "SQL error: %s\n", err_msg);
|
||||||
sqlite3_free(err_msg);
|
sqlite3_free(err_msg);
|
||||||
h_db_close();
|
db_close();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void h_db_close() {
|
void db_close() {
|
||||||
sqlite3_close(db);
|
sqlite3_close(db);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -158,7 +158,7 @@ char* get_artist_from_url(const char *url, const char *website_name) {
|
|||||||
return artist_name;
|
return artist_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
int h_db_add(char *db_row, const char *url) {
|
int db_add(char *db_row, const char *url) {
|
||||||
char *sql = malloc(10000);
|
char *sql = malloc(10000);
|
||||||
int result;
|
int result;
|
||||||
char *error_msg;
|
char *error_msg;
|
||||||
@ -186,7 +186,7 @@ int h_db_add(char *db_row, const char *url) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int h_db_add_custom_name(char *db_row, const char *url, const char *custom_name) {
|
int db_add_custom_name(char *db_row, const char *url, const char *custom_name) {
|
||||||
char *sql = malloc(10000);
|
char *sql = malloc(10000);
|
||||||
int result;
|
int result;
|
||||||
char *error_msg;
|
char *error_msg;
|
||||||
@ -208,7 +208,7 @@ int h_db_add_custom_name(char *db_row, const char *url, const char *custom_name)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int h_db_generate_file(FILE *fptr, const char *website_name) {
|
int db_generate_file(FILE *fptr, const char *website_name) {
|
||||||
char *sql = malloc(10000);
|
char *sql = malloc(10000);
|
||||||
int result;
|
int result;
|
||||||
char *error_msg;
|
char *error_msg;
|
||||||
@ -224,7 +224,7 @@ int h_db_generate_file(FILE *fptr, const char *website_name) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int h_db_update_artist_name(const char *url, const char *new_artist_name) {
|
int db_update_artist_name(const char *url, const char *new_artist_name) {
|
||||||
char *sql = malloc(10000);
|
char *sql = malloc(10000);
|
||||||
int result;
|
int result;
|
||||||
char *error_msg;
|
char *error_msg;
|
||||||
@ -240,7 +240,7 @@ int h_db_update_artist_name(const char *url, const char *new_artist_name) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int h_db_delete(const char *url) {
|
int db_delete(const char *url) {
|
||||||
char *sql = malloc(10000);
|
char *sql = malloc(10000);
|
||||||
int result;
|
int result;
|
||||||
char *error_msg;
|
char *error_msg;
|
||||||
|
14
src/db.h
14
src/db.h
@ -3,12 +3,12 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
int h_db_open(const char *db_name);
|
int db_open(const char *db_name);
|
||||||
void h_db_close();
|
void db_close();
|
||||||
int h_db_add(char *db_row, const char *url);
|
int db_add(char *db_row, const char *url);
|
||||||
int h_db_add_custom_name(char *db_row, const char *url, const char *artist_name);
|
int db_add_custom_name(char *db_row, const char *url, const char *artist_name);
|
||||||
int h_db_generate_file(FILE *fptr, const char *website_name);
|
int db_generate_file(FILE *fptr, const char *website_name);
|
||||||
int h_db_update_artist_name(const char *url, const char *new_artist_name);
|
int db_update_artist_name(const char *url, const char *new_artist_name);
|
||||||
int h_db_delete(const char *url);
|
int db_delete(const char *url);
|
||||||
|
|
||||||
#endif /* HENTAI_DB_H */
|
#endif /* HENTAI_DB_H */
|
||||||
|
142
src/main.c
142
src/main.c
@ -19,7 +19,7 @@ typedef struct {
|
|||||||
char *yt_dlp_conf;
|
char *yt_dlp_conf;
|
||||||
} Config;
|
} Config;
|
||||||
|
|
||||||
int h_config_parser(Config *config) {
|
int config_parser(Config *config) {
|
||||||
char *config_location = malloc(10000);
|
char *config_location = malloc(10000);
|
||||||
char *user_name = getenv("USER");
|
char *user_name = getenv("USER");
|
||||||
if (user_name == NULL) {
|
if (user_name == NULL) {
|
||||||
@ -78,54 +78,7 @@ int h_config_parser(Config *config) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int h_has_internet() {
|
int download(char *line, Config config) {
|
||||||
int ret;
|
|
||||||
|
|
||||||
/* https://www.man7.org/linux/man-pages/man3/getaddrinfo.3.html */
|
|
||||||
struct addrinfo hints;
|
|
||||||
memset(&hints, 0, sizeof(hints));
|
|
||||||
hints.ai_family = AF_INET;
|
|
||||||
hints.ai_socktype = SOCK_STREAM;
|
|
||||||
hints.ai_flags = 0;
|
|
||||||
hints.ai_protocol = 0;
|
|
||||||
struct addrinfo *res, *rp;
|
|
||||||
ret = getaddrinfo("hopeless-cloud.xyz", "80", 0, &res);
|
|
||||||
if (ret != 0) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
int sockfd;
|
|
||||||
for (rp = res; rp != NULL; rp = rp->ai_next) {
|
|
||||||
/* https://www.man7.org/linux/man-pages/man2/socket.2.html */
|
|
||||||
sockfd = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol);
|
|
||||||
if (sockfd == -1) { continue; }
|
|
||||||
|
|
||||||
/* https://www.man7.org/linux/man-pages/man2/connect.2.html */
|
|
||||||
if (connect(sockfd, rp->ai_addr, rp->ai_addrlen) == 0) { break; }
|
|
||||||
|
|
||||||
close(sockfd);
|
|
||||||
}
|
|
||||||
freeaddrinfo(res);
|
|
||||||
if (rp == NULL) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* https://www.man7.org/linux/man-pages/man2/write.2.html */
|
|
||||||
char *req_msg = "GET / HTTP/1.1\r\n\r\n";
|
|
||||||
if (write(sockfd, req_msg, strlen(req_msg)) != strlen(req_msg)) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* https://www.man7.org/linux/man-pages/man2/recv.2.html */
|
|
||||||
size_t count = 1000000;
|
|
||||||
char buf[count];
|
|
||||||
if (recv(sockfd, buf, count-1, MSG_WAITALL) == -1 ) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
close(sockfd);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int h_download(char *line, Config config) {
|
|
||||||
int ret;
|
int ret;
|
||||||
char *url = malloc(strlen(line));
|
char *url = malloc(strlen(line));
|
||||||
char *artist_name = malloc(strlen(line));
|
char *artist_name = malloc(strlen(line));
|
||||||
@ -134,7 +87,7 @@ int h_download(char *line, Config config) {
|
|||||||
char *args[7];
|
char *args[7];
|
||||||
char *tmp = malloc(10000);
|
char *tmp = malloc(10000);
|
||||||
if (strstr(website_name, "Iwara") != NULL) {
|
if (strstr(website_name, "Iwara") != NULL) {
|
||||||
sprintf(tmp, "%s/%s/%s/%(id)s.%(ext)s", config.data_dir, artist_name, website_name);
|
sprintf(tmp, "%s/%s/%s/%%(id)s.%%(ext)s", config.data_dir, artist_name, website_name);
|
||||||
args[0] = "yt-dlp";
|
args[0] = "yt-dlp";
|
||||||
args[1] = "--config-locations";
|
args[1] = "--config-locations";
|
||||||
args[2] = config.yt_dlp_conf;
|
args[2] = config.yt_dlp_conf;
|
||||||
@ -153,39 +106,28 @@ int h_download(char *line, Config config) {
|
|||||||
args[6] = NULL;
|
args[6] = NULL;
|
||||||
|
|
||||||
printf("Starting download using %s\n", args[0]);
|
printf("Starting download using %s\n", args[0]);
|
||||||
size_t i;
|
/* Keep for later debugging or logging
|
||||||
for (i = 5; i > 0; i--) {
|
size_t j;
|
||||||
/* Keep for later debugging or logging
|
for (j = 0; args[j] != NULL; j++) {
|
||||||
size_t j;
|
printf("args[%d] = %s\n", j, args[j]);
|
||||||
for (j = 0; args[j] != NULL; j++) {
|
|
||||||
printf("args[%d] = %s\n", j, args[j]);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
pid_t pid = fork();
|
|
||||||
|
|
||||||
if (pid == -1) {
|
|
||||||
printf("Couldn't fork'\n");
|
|
||||||
return 1;
|
|
||||||
} else if (pid > 0) {
|
|
||||||
waitpid(pid, &ret, 0);
|
|
||||||
} else {
|
|
||||||
execvp(args[0], args);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ret == 0) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
fprintf(stderr, "Command exited with non-zero code. code = %d\n", ret);
|
|
||||||
|
|
||||||
/* TODO: move contents of h_has_internet here */
|
|
||||||
ret = h_has_internet();
|
|
||||||
if (ret != 0) {
|
|
||||||
fprintf(stderr, "No internet\n");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
pid_t pid = fork();
|
||||||
|
|
||||||
|
if (pid == -1) {
|
||||||
|
printf("Couldn't fork'\n");
|
||||||
|
return 1;
|
||||||
|
} else if (pid > 0) {
|
||||||
|
waitpid(pid, &ret, 0);
|
||||||
|
} else {
|
||||||
|
execvp(args[0], args);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ret != 0) {
|
||||||
|
fprintf(stderr, "Command exited with non-zero code. code = %d\n", ret);
|
||||||
|
}
|
||||||
|
|
||||||
free(url);
|
free(url);
|
||||||
free(artist_name);
|
free(artist_name);
|
||||||
free(website_name);
|
free(website_name);
|
||||||
@ -198,7 +140,7 @@ int main(int argc, char **argv) {
|
|||||||
Config config = { 0 };
|
Config config = { 0 };
|
||||||
config.tmp_dir = "/tmp/HDB";
|
config.tmp_dir = "/tmp/HDB";
|
||||||
|
|
||||||
ret = h_config_parser(&config);
|
ret = config_parser(&config);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
fprintf(stderr, "Failed to parse config\n");
|
fprintf(stderr, "Failed to parse config\n");
|
||||||
return 1;
|
return 1;
|
||||||
@ -214,7 +156,7 @@ int main(int argc, char **argv) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = h_db_open("HDB.db");
|
ret = open("HDB.db");
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -224,35 +166,35 @@ int main(int argc, char **argv) {
|
|||||||
memset(db_row, 0, strlen(argv[2]));
|
memset(db_row, 0, strlen(argv[2]));
|
||||||
|
|
||||||
if (argc == 3) {
|
if (argc == 3) {
|
||||||
ret = h_db_add(db_row, argv[2]);
|
ret = db_add(db_row, argv[2]);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
h_db_close();
|
db_close();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
} else if (argc == 4) {
|
} else if (argc == 4) {
|
||||||
ret = h_db_add_custom_name(db_row, argv[2], argv[3]);
|
ret = db_add_custom_name(db_row, argv[2], argv[3]);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
h_db_close();
|
db_close();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
h_db_close();
|
db_close();
|
||||||
fprintf(stderr, "Incorrect amount of arguments\n");
|
fprintf(stderr, "Incorrect amount of arguments\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
printf("Successfully added to DB\n");
|
printf("Successfully added to DB\n");
|
||||||
ret = h_download(db_row, config);
|
ret = download(db_row, config);
|
||||||
free(db_row);
|
free(db_row);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
printf("Failed download\n");
|
printf("Failed download\n");
|
||||||
h_db_close();
|
db_close();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
printf("Succesfully downladed\n");
|
printf("Succesfully downladed\n");
|
||||||
} else if (strcmp(argv[1], "download_website") == 0) {
|
} else if (strcmp(argv[1], "download_website") == 0) {
|
||||||
if (argc != 3) {
|
if (argc != 3) {
|
||||||
fprintf(stderr, "Incorrect amount of arguments\n");
|
fprintf(stderr, "Incorrect amount of arguments\n");
|
||||||
h_db_close();
|
db_close();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
char *file_name = malloc(10000);
|
char *file_name = malloc(10000);
|
||||||
@ -260,30 +202,30 @@ int main(int argc, char **argv) {
|
|||||||
FILE *fptr = fopen(file_name, "w+");
|
FILE *fptr = fopen(file_name, "w+");
|
||||||
if (fptr == NULL) {
|
if (fptr == NULL) {
|
||||||
fprintf(stderr, "Couldn't open file '%s'\n", file_name);
|
fprintf(stderr, "Couldn't open file '%s'\n", file_name);
|
||||||
h_db_close();
|
db_close();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = h_db_generate_file(fptr, argv[2]);
|
ret = db_generate_file(fptr, argv[2]);
|
||||||
fclose(fptr);
|
fclose(fptr);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
h_db_close();
|
db_close();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
fptr = fopen(file_name, "r");
|
fptr = fopen(file_name, "r");
|
||||||
if (fptr == NULL) {
|
if (fptr == NULL) {
|
||||||
fprintf(stderr, "Couldn't open file '%s'\n", file_name);
|
fprintf(stderr, "Couldn't open file '%s'\n", file_name);
|
||||||
h_db_close();
|
db_close();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
char *line = malloc(10000);
|
char *line = malloc(10000);
|
||||||
printf("Ready to download\n");
|
printf("Ready to download\n");
|
||||||
while(fgets(line, 10000, fptr) != NULL) {
|
while(fgets(line, 10000, fptr) != NULL) {
|
||||||
ret = h_download(line, config);
|
ret = download(line, config);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
fclose(fptr);
|
fclose(fptr);
|
||||||
h_db_close();
|
db_close();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -293,10 +235,10 @@ int main(int argc, char **argv) {
|
|||||||
free(file_name);
|
free(file_name);
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "Invalid argument\n");
|
fprintf(stderr, "Invalid argument\n");
|
||||||
h_db_close();
|
db_close();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
h_db_close();
|
db_close();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user