Support local db for OCde in geostat

master
Tomasz Golinski 2021-01-03 03:21:11 +01:00
rodzic 7539454052
commit afdc37aba1
1 zmienionych plików z 50 dodań i 25 usunięć

Wyświetl plik

@ -50,7 +50,7 @@ int main(int argc, char** argv) {
bool trail = 0;
bool anim = 0;
bool use_oc = 0;
bool use_ocpl_db = 0;
bool use_ocdb = 0;
bool get_not_found = 0;
bool get_owned = 0;
bool exclude_quiz = 0;
@ -126,7 +126,7 @@ int main(int argc, char** argv) {
ocuk_user = optarg;
break;
case 'q':
use_ocpl_db = 1;
use_ocdb = 1;
break;
case 'i':
start_time = get_num('i', optarg);
@ -174,10 +174,10 @@ int main(int argc, char** argv) {
if (get_not_found || get_owned) {
use_oc = 0;
use_ocpl_db = 1;
use_ocdb = 1;
trail = 0;
if (ocpl_user_uuid.empty() && ocpl_user.empty()) {
std::cout << "Options \"-N\" or \"-O\" work only with OCpl\n";
if (ocpl_user_uuid.empty() && ocpl_user.empty() && ocde_user_uuid.empty() && ocde_user.empty()) {
std::cout << "Options \"-N\" or \"-O\" work only with OCpl or OCde.\n";
std::exit(EXIT_FAILURE);
}
if (get_not_found && get_owned) {
@ -242,27 +242,52 @@ int main(int argc, char** argv) {
// std::copy(tmp.begin(), tmp.end(), std::back_inserter(cc));
// }
if (use_ocpl_db) {
OCdb db(Database);
if (!ocpl_user.empty()) {
Okapi OCpl(ocpl_url, ocpl_key);
ocpl_user_uuid = OCpl.get_uuid(ocpl_user);
ocpl_user_profile = OCpl.get_profile_url(ocpl_user_uuid);
if (use_ocdb) {
if (!ocpl_user_uuid.empty() || !ocpl_user.empty()) {
OCdb db(Database);
if (!ocpl_user.empty()) {
Okapi OCpl(ocpl_url, ocpl_key);
ocpl_user_uuid = OCpl.get_uuid(ocpl_user);
ocpl_user_profile = OCpl.get_profile_url(ocpl_user_uuid);
}
if (get_not_found) {
Caches tmp = db.get_user_caches_not_found(ocpl_user_uuid);
Okapi OCpl(ocpl_url, ocpl_key);
OCpl.update_caches(tmp);
std::copy(tmp.begin(), tmp.end(), std::back_inserter(cc));
region_count = db.get_region_stats();
} else if (get_owned) {
Caches tmp = db.get_user_caches_owned(ocpl_user_uuid);
Okapi OCpl(ocpl_url, ocpl_key);
OCpl.update_caches(tmp);
std::copy(tmp.begin(), tmp.end(), std::back_inserter(cc));
} else {
Caches tmp = db.get_user_caches(ocpl_user_uuid, 0);
std::copy(tmp.begin(), tmp.end(), std::back_inserter(cc));
}
}
if (get_not_found) {
Caches tmp = db.get_user_caches_not_found(ocpl_user_uuid);
Okapi OCpl(ocpl_url, ocpl_key);
OCpl.update_caches(tmp);
std::copy(tmp.begin(), tmp.end(), std::back_inserter(cc));
region_count = db.get_region_stats();
} else if (get_owned) {
Caches tmp = db.get_user_caches_owned(ocpl_user_uuid);
Okapi OCpl(ocpl_url, ocpl_key);
OCpl.update_caches(tmp);
std::copy(tmp.begin(), tmp.end(), std::back_inserter(cc));
} else {
Caches tmp = db.get_user_caches(ocpl_user_uuid, 0);
std::copy(tmp.begin(), tmp.end(), std::back_inserter(cc));
if (!ocde_user_uuid.empty() || !ocde_user.empty()) {
OCdb db(Database);
if (!ocde_user.empty()) {
Okapi OCde(ocde_url, ocde_key);
ocde_user_uuid = OCde.get_uuid(ocde_user);
ocde_user_profile = OCde.get_profile_url(ocde_user_uuid);
}
if (get_not_found) {
Caches tmp = db.get_user_caches_not_found(ocde_user_uuid);
Okapi OCde(ocde_url, ocde_key);
OCde.update_caches(tmp);
std::copy(tmp.begin(), tmp.end(), std::back_inserter(cc));
// region_count = db.get_region_stats();
} else if (get_owned) {
Caches tmp = db.get_user_caches_owned(ocde_user_uuid);
Okapi OCde(ocde_url, ocde_key);
OCde.update_caches(tmp);
std::copy(tmp.begin(), tmp.end(), std::back_inserter(cc));
} else {
Caches tmp = db.get_user_caches(ocde_user_uuid, 0);
std::copy(tmp.begin(), tmp.end(), std::back_inserter(cc));
}
}
}