Dev/include file (#1306)
All checks were successful
Build on local RHEL9 / build (push) Successful in 1m25s
Build on local RHEL8 / build (push) Successful in 3m32s
Build on RHEL9 / build (push) Successful in 4m17s
Build on RHEL8 / build (push) Successful in 4m35s

* create a include command calling the same function as parameters (cmd generation and autocompletion), testing parameters and include

* added include in command line and python and its supposed to do the same as parameters command. both are tested

* added colorama

* moved test_free and test_command python tests to tests/scripts folder from python/tests due to CI issues with dependencies

* generated commands

* formatting

---------

Co-authored-by: Erik Fröjdh <erik.frojdh@gmail.com>
This commit is contained in:
2026-01-07 10:45:26 +01:00
committed by GitHub
parent 874ff353e5
commit 045d9440de
12 changed files with 287 additions and 23 deletions

View File

@@ -6227,6 +6227,48 @@ std::string Caller::imagetest(int action) {
return os.str();
}
std::string Caller::include(int action) {
std::ostringstream os;
// print help
if (action == slsDetectorDefs::HELP_ACTION) {
os << R"V0G0N(
Sets detector measurement parameters to those contained in fname. Set up per measurement. Same as parameters command. )V0G0N"
<< std::endl;
return os.str();
}
// check if action and arguments are valid
if (action == slsDetectorDefs::PUT_ACTION) {
if (1 && args.size() != 1) {
throw RuntimeError("Wrong number of arguments for action PUT");
}
if (args.size() == 1) {
}
}
else {
throw RuntimeError(
"INTERNAL ERROR: Invalid action: supported actions are ['PUT']");
}
// generate code for each action
if (action == slsDetectorDefs::PUT_ACTION) {
if (args.size() == 1) {
if (det_id != -1) {
throw RuntimeError("Cannot execute include at module level");
}
det->loadParameters(args[0]);
os << args.front() << '\n';
}
}
return os.str();
}
std::string Caller::initialchecks(int action) {
std::ostringstream os;

View File

@@ -165,6 +165,7 @@ class Caller {
std::string im_d(int action);
std::string im_io(int action);
std::string imagetest(int action);
std::string include(int action);
std::string initialchecks(int action);
std::string inj_ch(int action);
std::string interpolation(int action);
@@ -531,6 +532,7 @@ class Caller {
{"im_d", &Caller::im_d},
{"im_io", &Caller::im_io},
{"imagetest", &Caller::imagetest},
{"include", &Caller::include},
{"initialchecks", &Caller::initialchecks},
{"inj_ch", &Caller::inj_ch},
{"interpolation", &Caller::interpolation},

View File

@@ -1686,6 +1686,18 @@ int InferAction::imagetest() {
}
}
int InferAction::include() {
if (args.size() == 1) {
return slsDetectorDefs::PUT_ACTION;
}
else {
throw RuntimeError("Could not infer action: Wrong number of arguments");
}
}
int InferAction::initialchecks() {
if (args.size() == 0) {

View File

@@ -120,6 +120,7 @@ class InferAction {
int im_d();
int im_io();
int imagetest();
int include();
int initialchecks();
int inj_ch();
int interpolation();
@@ -456,6 +457,7 @@ class InferAction {
{"im_d", &InferAction::im_d},
{"im_io", &InferAction::im_io},
{"imagetest", &InferAction::imagetest},
{"include", &InferAction::include},
{"initialchecks", &InferAction::initialchecks},
{"inj_ch", &InferAction::inj_ch},
{"interpolation", &InferAction::interpolation},