X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=systemcommand.cpp;h=708724a4e5cd46643e7ec29464b61c1f34c7cd41;hb=bd93b1a6f9fe9a6a4a7ac2e9f106e5c83a438856;hp=5bc9b46e47522d38fe4a89f0119df8785a4d8d4d;hpb=55dad85695dba70b4447d1430733ecd85754783c;p=mothur.git diff --git a/systemcommand.cpp b/systemcommand.cpp index 5bc9b46..708724a 100644 --- a/systemcommand.cpp +++ b/systemcommand.cpp @@ -11,7 +11,7 @@ //********************************************************************************************************************** -SystemCommand::SystemCommand(string option){ +SystemCommand::SystemCommand(string option) { try { abort = false; @@ -19,28 +19,23 @@ SystemCommand::SystemCommand(string option){ if(option == "help") { help(); abort = true; } else { - //valid paramters for this command - string Array[] = {"command"}; - vector myArray (Array, Array+(sizeof(Array)/sizeof(string))); + if (option == "") { m->mothurOut("You must enter a command to run."); m->mothurOutEndLine(); abort = true; } + else { + //check for outputdir and inputdir parameters + int commaPos = option.find_first_of(','); + + //if there is a comma then grab string up to that pos + if (commaPos != option.npos) { + option = option.substr(0, commaPos); + } - OptionParser parser(option); - map parameters = parser.getParameters(); - - ValidParameters validParameter; - - //check to make sure all parameters are valid for command - for (map::iterator it = parameters.begin(); it != parameters.end(); it++) { - if (validParameter.isValidParameter(it->first, myArray, it->second) != true) { abort = true; } + command = option; } - - //check for required parameters - command = validParameter.validFile(parameters, "command", false); - if (command == "not found") { mothurOut("command is a required parameter."); mothurOutEndLine(); abort = true; } } } catch(exception& e) { - errorOut(e, "SystemCommand", "SystemCommand"); + m->errorOut(e, "SystemCommand", "SystemCommand"); exit(1); } } @@ -48,14 +43,13 @@ SystemCommand::SystemCommand(string option){ void SystemCommand::help(){ try { - mothurOut("The system command allows you to execute a system command from within mothur.\n"); - mothurOut("The system command parameter is command and it is required.\n"); - mothurOut("The system command should be in the following format: system(command=yourCommand).\n"); - mothurOut("Example system(command=clear).\n"); - mothurOut("Note: No spaces between parameter labels (i.e. command), '=' and parameters (i.e.yourCommand).\n\n"); + m->mothurOut("The system command allows you to execute a system command from within mothur.\n"); + m->mothurOut("The system has no parameters.\n"); + m->mothurOut("The system command should be in the following format: system(yourCommand).\n"); + m->mothurOut("Example system(clear).\n"); } catch(exception& e) { - errorOut(e, "SystemCommand", "help"); + m->errorOut(e, "SystemCommand", "help"); exit(1); } } @@ -73,7 +67,7 @@ int SystemCommand::execute(){ } catch(exception& e) { - errorOut(e, "SystemCommand", "execute"); + m->errorOut(e, "SystemCommand", "execute"); exit(1); } }