#include "systemcommand.h"
-//**********************************************************************************************************************
-SystemCommand::SystemCommand(string option){
+//**********************************************************************************************************************
+SystemCommand::SystemCommand(string option) {
try {
- abort = false;
+ abort = false; calledHelp = false;
//allow user to run help
- if(option == "help") { help(); abort = true; }
+ if(option == "help") { help(); abort = true; calledHelp = true; }
else {
- if (option == "") { mothurOut("You must enter a command to run."); mothurOutEndLine(); abort = true; }
+ 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(',');
}
catch(exception& e) {
- errorOut(e, "SystemCommand", "SystemCommand");
+ m->errorOut(e, "SystemCommand", "SystemCommand");
exit(1);
}
}
//**********************************************************************************************************************
-void SystemCommand::help(){
+string SystemCommand::getHelpString(){
try {
- mothurOut("The system command allows you to execute a system command from within mothur.\n");
- mothurOut("The system has no parameters.\n");
- mothurOut("The system command should be in the following format: system(yourCommand).\n");
- mothurOut("Example system(clear).\n");
+ string helpString = "";
+ helpString += "The system command allows you to execute a system command from within mothur.\n";
+ helpString += "The system has no parameters.\n";
+ helpString += "The system command should be in the following format: system(yourCommand).\n";
+ helpString += "Example system(clear).\n";
+ return helpString;
}
catch(exception& e) {
- errorOut(e, "SystemCommand", "help");
+ m->errorOut(e, "SystemCommand", "help");
exit(1);
}
}
int SystemCommand::execute(){
try {
- if (abort == true) { return 0; }
+ if (abort == true) { if (calledHelp) { return 0; } return 2; }
system(command.c_str());
}
catch(exception& e) {
- errorOut(e, "SystemCommand", "execute");
+ m->errorOut(e, "SystemCommand", "execute");
exit(1);
}
}