checks-parser/main.cpp

56 lines
1.9 KiB
C++

#include "mainwindow.h"
#include "net/net.h"
#include "ofd/ofd.h"
#include "settings/settings.h"
#include "utils/utils.h"
#include <QApplication>
#include <curl/curl.h>
#include <iostream>
#include <filesystem>
int main(int argc, char *argv[]) {
curl_global_init(CURL_GLOBAL_ALL);
std::string program_data_path = get_path_relative_to_home(".local/share/checks_parser");
std::filesystem::create_directories(program_data_path);
std::string settings_file_path =
get_path_relative_to_home(".local/share/checks_parser/settings.json");
Settings s(settings_file_path);
OFD ofd;
Net n;
std::vector<std::string> ofd_updates = ofd.check_updates();
for (const std::string &update : ofd_updates) {
std::cout << "Downloading "
<< s.get_setting("ofds_modules_url") + update << " to "
<< get_path_relative_to_home(s.get_setting("ofds_modules_dir") +
"/" + update)
<< std::endl;
n.get_file(s.get_setting("ofds_modules_url") + "/" + update,
get_path_relative_to_home(s.get_setting("ofds_modules_dir") +
"/" + update));
}
Parser p;
std::vector<std::string> stores_updates = p.check_updates();\
for (const std::string &update : stores_updates) {
std::cout << "Downloading "
<< s.get_setting("stores_modules_url") + update << " to "
<< get_path_relative_to_home(s.get_setting("stores_modules_dir") +
"/" + update)
<< std::endl;
n.get_file(s.get_setting("stores_modules_url") + "/" + update,
get_path_relative_to_home(s.get_setting("stores_modules_dir") +
"/" + update));
}
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}