diff --git a/src/manage/ManageResults.cpp b/src/manage/ManageResults.cpp index d09127d..c71dd5f 100644 --- a/src/manage/ManageResults.cpp +++ b/src/manage/ManageResults.cpp @@ -5,7 +5,7 @@ #include "common/Paths.h" #include "CommandParser.h" #include "ManageResults.h" -//#include "reports/DatasetsConsole.h" +#include "reports/DatasetsConsole.h" #include "reports/ReportConsole.h" #include "reports/ReportExcel.h" #include "reports/ReportExcelCompared.h" @@ -114,10 +114,10 @@ namespace platform { } void ManageResults::list_datasets(const std::string& status_message, const std::string& status_color) { - // auto report = DatasetsConsole(); - // report.list_datasets(); - // auto output = report.getOutput(); - // paginator[static_cast(output_type)].setTotal(report.getNumLines()); + auto report = DatasetsConsole(); + report.list_datasets(); + auto output = report.getOutput(); + paginator[static_cast(output_type)].setTotal(report.getNumLines()); // // header // diff --git a/src/reports/DatasetsConsole.cpp b/src/reports/DatasetsConsole.cpp index e87b2a6..17ad7a7 100644 --- a/src/reports/DatasetsConsole.cpp +++ b/src/reports/DatasetsConsole.cpp @@ -18,10 +18,10 @@ namespace platform { } void DatasetsConsole::list_datasets() { + output.str(""); auto datasets = platform::Datasets(false, platform::Paths::datasets()); - locale mylocale(std::cout.getloc(), new separated_datasets); - locale::global(mylocale); - output.imbue(mylocale); + auto loc = std::locale("es_ES"); + output.imbue(loc); output << Colors::GREEN() << " # Dataset Sampl. Feat. Cls Balance" << std::endl; std::string balanceBars = std::string(DatasetsConsole::BALANCE_LENGTH, '='); output << "=== ============================== ====== ===== === " << balanceBars << std::endl; diff --git a/src/reports/DatasetsConsole.h b/src/reports/DatasetsConsole.h index 69aa9c6..0156f75 100644 --- a/src/reports/DatasetsConsole.h +++ b/src/reports/DatasetsConsole.h @@ -7,11 +7,6 @@ namespace platform { using json = nlohmann::json; - struct separated_datasets : numpunct { - char do_decimal_point() const { return ','; } - char do_thousands_sep() const { return '.'; } - std::string do_grouping() const { return "\03"; } - }; class DatasetsConsole { public: diff --git a/src/reports/ExcelFile.h b/src/reports/ExcelFile.h index d462821..eddbc7f 100644 --- a/src/reports/ExcelFile.h +++ b/src/reports/ExcelFile.h @@ -6,13 +6,6 @@ #include namespace platform { - struct separated : std::numpunct { - char do_decimal_point() const { return ','; } - - char do_thousands_sep() const { return '.'; } - - std::string do_grouping() const { return "\03"; } - }; class ExcelFile { public: ExcelFile(); diff --git a/src/reports/ReportExcel.cpp b/src/reports/ReportExcel.cpp index b93306b..7df7a5b 100644 --- a/src/reports/ReportExcel.cpp +++ b/src/reports/ReportExcel.cpp @@ -60,9 +60,8 @@ namespace platform { void ReportExcel::header() { - std::locale mylocale(std::cout.getloc(), new separated); - std::locale::global(mylocale); - std::cout.imbue(mylocale); + auto loc = std::locale("es_ES"); + std::cout.imbue(loc); std::stringstream oss; std::string message = data["model"].get() + " ver. " + data["version"].get() + " " + data["language"].get() + " ver. " + data["language_version"].get() + diff --git a/src/results/ResultsDatasetConsole.cpp b/src/results/ResultsDatasetConsole.cpp index 34dd8f2..bd8a683 100644 --- a/src/results/ResultsDatasetConsole.cpp +++ b/src/results/ResultsDatasetConsole.cpp @@ -6,6 +6,8 @@ namespace platform { void ResultsDatasetsConsole::list_results(const std::string& dataset, const std::string& score, const std::string& model) { output.str(""); + auto loc = std::locale("es_ES"); + output.imbue(loc); auto results = platform::ResultsDataset(dataset, model, score); results.load(); results.sortModel(); @@ -16,8 +18,16 @@ namespace platform { int maxModel = results.maxModelSize(); int maxHyper = results.maxHyperSize(); double maxResult = results.maxResultScore(); + // // Build data for the Report - json data = json::object(); + // + data = json::object(); + data["dataset"] = dataset; + data["score"] = score; + data["model"] = model; + data["lengths"]["maxModel"] = maxModel; + data["lengths"]["maxHyper"] = maxHyper; + data["maxResult"] = maxResult; data["results"] = json::array(); data["max_models"] = json::object(); // Max score per model for (const auto& result : results) { @@ -27,7 +37,6 @@ namespace platform { } for (const auto& item : results["results"]) { if (item["dataset"] == dataset) { - // Store data for Excel report json res = json::object(); res["date"] = result.getDate(); @@ -65,12 +74,6 @@ namespace platform { output << item["hyperparameters"].get() << std::endl; numLines++; } - data["dataset"] = dataset; - data["score"] = score; - data["model"] = model; - data["lengths"]["maxModel"] = maxModel; - data["lengths"]["maxHyper"] = maxHyper; - data["maxResult"] = maxResult; } } diff --git a/src/results/ResultsDatasetConsole.h b/src/results/ResultsDatasetConsole.h index 3a87838..ee54987 100644 --- a/src/results/ResultsDatasetConsole.h +++ b/src/results/ResultsDatasetConsole.h @@ -13,7 +13,7 @@ namespace platform { ~ResultsDatasetsConsole() = default; std::string getOutput() const { return output.str(); } int getNumLines() const { return numLines; } - json getData() { return data; } + json& getData() { return data; } void list_results(const std::string& dataset, const std::string& score, const std::string& model); private: std::stringstream output;