link validation working

This commit is contained in:
Andy Pack 2023-06-17 10:58:10 +01:00
parent 47a6e1e522
commit 13aee5d6f5
Signed by: sarsoo
GPG Key ID: A55BA3536A5E0ED7
4 changed files with 33 additions and 12 deletions

View File

@ -1,6 +1,5 @@
#include "logging.hpp" #include "logging.hpp"
#include <iostream>
namespace logging = boost::log; namespace logging = boost::log;
namespace src = boost::log::sources; namespace src = boost::log::sources;
@ -28,9 +27,3 @@ void init_logging()
logging::add_common_attributes(); logging::add_common_attributes();
} }
inline void print_and_log(std::string log_line)
{
BOOST_LOG_TRIVIAL(info) << log_line;
std::cout << log_line << std::endl;
}

View File

@ -1,5 +1,7 @@
#pragma once #pragma once
#include <iostream>
#include <boost/log/core.hpp> #include <boost/log/core.hpp>
#include <boost/log/trivial.hpp> #include <boost/log/trivial.hpp>
#include <boost/log/expressions.hpp> #include <boost/log/expressions.hpp>
@ -8,4 +10,15 @@
#include <boost/log/utility/setup/console.hpp> #include <boost/log/utility/setup/console.hpp>
void init_logging(); void init_logging();
void print_and_log(std::string log_line);
inline void print_and_log(std::string log_line)
{
BOOST_LOG_TRIVIAL(info) << log_line;
std::cout << log_line << std::endl;
}
inline void print_and_log_error(std::string log_line)
{
BOOST_LOG_TRIVIAL(error) << log_line;
std::cout << "ERROR: " << log_line << std::endl;
}

View File

@ -22,7 +22,7 @@ int main(int argc, const char *argv[]) {
BOOST_LOG_TRIVIAL(info) << "================================"; BOOST_LOG_TRIVIAL(info) << "================================";
BOOST_LOG_TRIVIAL(info) << " kc"; BOOST_LOG_TRIVIAL(info) << " kc";
BOOST_LOG_TRIVIAL(info) << "================================"; BOOST_LOG_TRIVIAL(info) << "================================";
BOOST_LOG_TRIVIAL(info) << "starting up...."; BOOST_LOG_TRIVIAL(info) << "Starting up....";
auto config = init_config(argc, argv); auto config = init_config(argc, argv);
@ -39,15 +39,20 @@ int main(int argc, const char *argv[]) {
} }
else else
{ {
BOOST_LOG_TRIVIAL(info) << "command not found"; print_and_log_error("Command not found, exiting");
return 1;
} }
return 0;
} }
return 1;
} }
void run_validate(std::shared_ptr<boost::program_options::variables_map> config) void run_validate(std::shared_ptr<boost::program_options::variables_map> config)
{ {
auto env_path = (*config)["path"].as<std::string>(); auto env_path = (*config)["path"].as<std::string>();
BOOST_LOG_TRIVIAL(info) << "Loading knowledge base from " << env_path; print_and_log("> Loading knowledge base from " + env_path);
auto file_cache = kc::FileContextCache(); auto file_cache = kc::FileContextCache();
file_cache.load(env_path); file_cache.load(env_path);

View File

@ -3,6 +3,8 @@
#include <filesystem> #include <filesystem>
#include <iostream> #include <iostream>
#include "../logging.hpp"
namespace fs = std::filesystem; namespace fs = std::filesystem;
namespace kc { namespace kc {
@ -11,6 +13,8 @@ std::vector<kc::FileLinkStateResult> validate_links(const std::vector<std::share
{ {
std::vector<kc::FileLinkStateResult> ret; std::vector<kc::FileLinkStateResult> ret;
auto invalid_counter = 0;
for (auto context : contexts) for (auto context : contexts)
{ {
if (context->links.size() > 0) if (context->links.size() > 0)
@ -25,13 +29,19 @@ std::vector<kc::FileLinkStateResult> validate_links(const std::vector<std::share
if(!entry.exists()) if(!entry.exists())
{ {
std::cout << link.link << " + " << context->file_entry->file_entry.path() << " = " << composed << std::endl; print_and_log("Invalid link: " + std::string(context->file_entry->file_entry.path()) + " -> " + link.original_form);
invalid_counter++;
} }
} }
} }
} }
} }
if (invalid_counter == 0)
{
print_and_log("All links valid");
}
return ret; return ret;
} }