add platform filter to b_manage
This commit is contained in:
2
lib/json
2
lib/json
Submodule lib/json updated: 8c391e04fe...c883fb0f17
@@ -10,11 +10,13 @@ void manageArguments(argparse::ArgumentParser& program, int argc, char** argv)
|
|||||||
{
|
{
|
||||||
program.add_argument("-m", "--model").default_value("any").help("Filter results of the selected model)");
|
program.add_argument("-m", "--model").default_value("any").help("Filter results of the selected model)");
|
||||||
program.add_argument("-s", "--score").default_value("any").help("Filter results of the score name supplied");
|
program.add_argument("-s", "--score").default_value("any").help("Filter results of the score name supplied");
|
||||||
|
program.add_argument("--platform").default_value("any").help("Filter results of the selected platform");
|
||||||
program.add_argument("--complete").help("Show only results with all datasets").default_value(false).implicit_value(true);
|
program.add_argument("--complete").help("Show only results with all datasets").default_value(false).implicit_value(true);
|
||||||
program.add_argument("--partial").help("Show only partial results").default_value(false).implicit_value(true);
|
program.add_argument("--partial").help("Show only partial results").default_value(false).implicit_value(true);
|
||||||
program.add_argument("--compare").help("Compare with best results").default_value(false).implicit_value(true);
|
program.add_argument("--compare").help("Compare with best results").default_value(false).implicit_value(true);
|
||||||
try {
|
try {
|
||||||
program.parse_args(argc, argv);
|
program.parse_args(argc, argv);
|
||||||
|
auto platform = program.get<std::string>("platform");
|
||||||
auto model = program.get<std::string>("model");
|
auto model = program.get<std::string>("model");
|
||||||
auto score = program.get<std::string>("score");
|
auto score = program.get<std::string>("score");
|
||||||
auto complete = program.get<bool>("complete");
|
auto complete = program.get<bool>("complete");
|
||||||
@@ -47,13 +49,14 @@ int main(int argc, char** argv)
|
|||||||
manageArguments(program, argc, argv);
|
manageArguments(program, argc, argv);
|
||||||
std::string model = program.get<std::string>("model");
|
std::string model = program.get<std::string>("model");
|
||||||
std::string score = program.get<std::string>("score");
|
std::string score = program.get<std::string>("score");
|
||||||
|
std::string platform = program.get<std::string>("platform");
|
||||||
auto complete = program.get<bool>("complete");
|
auto complete = program.get<bool>("complete");
|
||||||
auto partial = program.get<bool>("partial");
|
auto partial = program.get<bool>("partial");
|
||||||
auto compare = program.get<bool>("compare");
|
auto compare = program.get<bool>("compare");
|
||||||
auto [rows, cols] = numRowsCols();
|
auto [rows, cols] = numRowsCols();
|
||||||
if (complete)
|
if (complete)
|
||||||
partial = false;
|
partial = false;
|
||||||
auto manager = platform::ManageScreen(rows, cols, model, score, complete, partial, compare);
|
auto manager = platform::ManageScreen(rows, cols, model, score, platform, complete, partial, compare);
|
||||||
manager.doMenu();
|
manager.doMenu();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@@ -18,8 +18,8 @@
|
|||||||
namespace platform {
|
namespace platform {
|
||||||
const std::string STATUS_OK = "Ok.";
|
const std::string STATUS_OK = "Ok.";
|
||||||
const std::string STATUS_COLOR = Colors::GREEN();
|
const std::string STATUS_COLOR = Colors::GREEN();
|
||||||
ManageScreen::ManageScreen(int rows, int cols, const std::string& model, const std::string& score, bool complete, bool partial, bool compare) :
|
ManageScreen::ManageScreen(int rows, int cols, const std::string& model, const std::string& score, const std::string& platform, bool complete, bool partial, bool compare) :
|
||||||
rows{ rows }, cols{ cols }, complete{ complete }, partial{ partial }, compare{ compare }, didExcel(false), results(ResultsManager(model, score, complete, partial))
|
rows{ rows }, cols{ cols }, complete{ complete }, partial{ partial }, compare{ compare }, didExcel(false), results(ResultsManager(model, score, platform, complete, partial))
|
||||||
{
|
{
|
||||||
results.load();
|
results.load();
|
||||||
openExcel = false;
|
openExcel = false;
|
||||||
|
@@ -14,7 +14,7 @@ namespace platform {
|
|||||||
};
|
};
|
||||||
class ManageScreen {
|
class ManageScreen {
|
||||||
public:
|
public:
|
||||||
ManageScreen(int rows, int cols, const std::string& model, const std::string& score, bool complete, bool partial, bool compare);
|
ManageScreen(int rows, int cols, const std::string& model, const std::string& score, const std::string& platform, bool complete, bool partial, bool compare);
|
||||||
~ManageScreen() = default;
|
~ManageScreen() = default;
|
||||||
void doMenu();
|
void doMenu();
|
||||||
private:
|
private:
|
||||||
|
@@ -3,8 +3,8 @@
|
|||||||
#include "ResultsManager.h"
|
#include "ResultsManager.h"
|
||||||
|
|
||||||
namespace platform {
|
namespace platform {
|
||||||
ResultsManager::ResultsManager(const std::string& model, const std::string& score, bool complete, bool partial) :
|
ResultsManager::ResultsManager(const std::string& model, const std::string& score, const std::string& platform, bool complete, bool partial) :
|
||||||
path(Paths::results()), model(model), scoreName(score), complete(complete), partial(partial), maxModel(0), maxTitle(0)
|
path(Paths::results()), model(model), scoreName(score), platform(platform), complete(complete), partial(partial), maxModel(0), maxTitle(0)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
void ResultsManager::load()
|
void ResultsManager::load()
|
||||||
@@ -17,7 +17,11 @@ namespace platform {
|
|||||||
auto result = Result();
|
auto result = Result();
|
||||||
result.load(path, filename);
|
result.load(path, filename);
|
||||||
bool addResult = true;
|
bool addResult = true;
|
||||||
if (model != "any" && result.getModel() != model || scoreName != "any" && scoreName != result.getScoreName() || complete && !result.isComplete() || partial && result.isComplete())
|
if (platform != "any" && result.getPlatform() != platform
|
||||||
|
|| model != "any" && result.getModel() != model
|
||||||
|
|| scoreName != "any" && scoreName != result.getScoreName()
|
||||||
|
|| complete && !result.isComplete()
|
||||||
|
|| partial && result.isComplete())
|
||||||
addResult = false;
|
addResult = false;
|
||||||
if (addResult) {
|
if (addResult) {
|
||||||
files.push_back(result);
|
files.push_back(result);
|
||||||
|
@@ -18,7 +18,7 @@ namespace platform {
|
|||||||
};
|
};
|
||||||
class ResultsManager {
|
class ResultsManager {
|
||||||
public:
|
public:
|
||||||
ResultsManager(const std::string& model, const std::string& score, bool complete, bool partial);
|
ResultsManager(const std::string& model, const std::string& score, const std::string& platform, bool complete, bool partial);
|
||||||
void load(); // Loads the list of results
|
void load(); // Loads the list of results
|
||||||
void sortResults(SortField field, SortType type); // Sorts the list of results
|
void sortResults(SortField field, SortType type); // Sorts the list of results
|
||||||
void sortDate(SortType type);
|
void sortDate(SortType type);
|
||||||
@@ -38,6 +38,7 @@ namespace platform {
|
|||||||
std::string path;
|
std::string path;
|
||||||
std::string model;
|
std::string model;
|
||||||
std::string scoreName;
|
std::string scoreName;
|
||||||
|
std::string platform;
|
||||||
bool complete;
|
bool complete;
|
||||||
bool partial;
|
bool partial;
|
||||||
int maxModel;
|
int maxModel;
|
||||||
|
@@ -26,6 +26,7 @@ namespace platform {
|
|||||||
std::string getTitle() const { return data["title"].get<std::string>(); };
|
std::string getTitle() const { return data["title"].get<std::string>(); };
|
||||||
double getDuration() const { return data["duration"]; };
|
double getDuration() const { return data["duration"]; };
|
||||||
std::string getModel() const { return data["model"].get<std::string>(); };
|
std::string getModel() const { return data["model"].get<std::string>(); };
|
||||||
|
std::string getPlatform() const { return data["platform"].get<std::string>(); };
|
||||||
std::string getScoreName() const { return data["score_name"].get<std::string>(); };
|
std::string getScoreName() const { return data["score_name"].get<std::string>(); };
|
||||||
bool isComplete() const { return complete; };
|
bool isComplete() const { return complete; };
|
||||||
json getData() const { return data; }
|
json getData() const { return data; }
|
||||||
|
Reference in New Issue
Block a user