Merge pull request #26 from lucaspalomodevelop/25-error-if-there-is-no-configuration-in-the-script-file

25 error if there is no configuration in the script file
This commit is contained in:
Lucas Palomo Develop 2024-01-20 17:59:07 +01:00 committed by GitHub
commit d91e80525d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -62,17 +62,23 @@ std::string scriptBuilder(std::string script, std::string args, json script_sett
automScript parse(const std::string filecontent)
{
// std::cout << "filecontent before parse: " << filecontent << std::endl;
std::stringstream file(filecontent);
std::string line, content, script;
int braceCount = 0;
bool isSettings = true;
bool isSettings = false;
bool start = false;
while (std::getline(file, line))
{
for (char c : line)
{
if (c == '{')
{
braceCount++;
isSettings = true;
}
if (c == '}')
braceCount--;
if (braceCount == 0 && isSettings)
@ -128,6 +134,7 @@ automScript parseAndWriteBack(std::string script)
automScript parsed = parse(filecontent);
std::ofstream file2(script);
// std::cout << "script: " << parsed.script << std::endl;
file2 << parsed.script;
file2.close();
@ -145,10 +152,10 @@ std::string saveScriptInTemp(std::string script)
while (std::getline(file2, line))
{
script_content += line + "\n";
file << line << std::endl;
}
file << script_content;
file.flush();
file.close();
std::filesystem::permissions(temp_file, std::filesystem::perms::owner_all | std::filesystem::perms::group_all | std::filesystem::perms::others_all);
@ -234,6 +241,8 @@ void runScript(int argc, char *argv[])
script = saveScriptInTemp(script);
// std::cout << "script: " << script << std::endl;
json json_settings = parseAndWriteBack(script).settings;
script_settings = mergeJson(script_settings, json_settings);
@ -253,7 +262,7 @@ void runScript(int argc, char *argv[])
system(script.c_str());
cleanTempFile();
// cleanTempFile();
return;
}
// }