80 lines
2.9 KiB
C++
80 lines
2.9 KiB
C++
#ifndef PATHS_H
|
|
#define PATHS_H
|
|
#include <string>
|
|
#include <filesystem>
|
|
#include "DotEnv.h"
|
|
namespace platform {
|
|
class Paths {
|
|
public:
|
|
static std::string createIfNotExists(const std::string& folder)
|
|
{
|
|
if (!std::filesystem::exists(folder)) {
|
|
std::filesystem::create_directory(folder);
|
|
}
|
|
return folder;
|
|
}
|
|
static std::string results() { return createIfNotExists("results/"); }
|
|
static std::string hiddenResults() { return createIfNotExists("hidden_results/"); }
|
|
static std::string excel() { return createIfNotExists("excel/"); }
|
|
static std::string grid() { return createIfNotExists("grid/"); }
|
|
static std::string graphs() { return createIfNotExists("graphs/"); }
|
|
static std::string tex() { return createIfNotExists("tex/"); }
|
|
static std::string datasets()
|
|
{
|
|
auto env = platform::DotEnv();
|
|
return env.get("source_data");
|
|
}
|
|
static std::string experiment_file(const std::string& fileName, bool discretize, bool stratified, int seed, int nfold)
|
|
{
|
|
std::string disc = discretize ? "_disc_" : "_ndisc_";
|
|
std::string strat = stratified ? "strat_" : "nstrat_";
|
|
return "datasets_experiment/" + fileName + disc + strat + std::to_string(seed) + "_" + std::to_string(nfold) + ".json";
|
|
}
|
|
static void createPath(const std::string& path)
|
|
{
|
|
// Create directory if it does not exist
|
|
try {
|
|
std::filesystem::create_directory(path);
|
|
}
|
|
catch (std::exception& e) {
|
|
throw std::runtime_error("Could not create directory " + path);
|
|
}
|
|
}
|
|
static std::string bestResultsFile(const std::string& score, const std::string& model)
|
|
{
|
|
return "best_results_" + score + "_" + model + ".json";
|
|
}
|
|
static std::string bestResultsExcel(const std::string& score)
|
|
{
|
|
return "BestResults_" + score + ".xlsx";
|
|
}
|
|
static std::string excelResults() { return "some_results.xlsx"; }
|
|
static std::string excelDatasets() { return "datasets.xlsx"; }
|
|
static std::string grid_input(const std::string& model)
|
|
{
|
|
return grid() + "grid_" + model + "_input.json";
|
|
}
|
|
static std::string grid_output(const std::string& model)
|
|
{
|
|
return grid() + "grid_" + model + "_output.json";
|
|
}
|
|
static std::string tex_output()
|
|
{
|
|
return "results.tex";
|
|
}
|
|
static std::string md_output()
|
|
{
|
|
return "results.md";
|
|
}
|
|
static std::string tex_post_hoc()
|
|
{
|
|
return "post_hoc.tex";
|
|
}
|
|
static std::string md_post_hoc()
|
|
{
|
|
return "post_hoc.md";
|
|
}
|
|
|
|
};
|
|
}
|
|
#endif |