/* Copyright© 2021 John Sennesael UsenetSearch is Free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. UsenetSearch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with UsenetSearch. If not, see . */ #include "usenetsearch/Application.h" #include "usenetsearch/Except.h" #include "usenetsearch/Indexer.h" #include "usenetsearch/Logger.h" #include "usenetsearch/UsenetClient.h" #include using namespace usenetsearch; int main(int argc, char* argv[]) { if (!Application::Get().Init(argc, argv)) return 1; UsenetClient client; Indexer indexer(client); Logger::Get().Debug( LOGID("usenetindexd"), "Connecting to newsgroup server..." ); indexer.Connect(); Logger::Get().Debug(LOGID("usenetindexd"), "Connected."); try { Logger::Get().Debug(LOGID("usenetindexd"), "Getting newsgroup list..."); auto list = client.List(); Application::Get().GetDb().UpdateNewsgroupList(*list); Logger::Get().Debug( LOGID("usenetindexd"), "Found " + std::to_string(list->size()) + " newsgroups." ); indexer.Index(*list); } catch (const UsenetSearchException& e) { return 1; } return 0; }