#include "systemcommand.h"
+//**********************************************************************************************************************
+vector<string> SystemCommand::getValidParameters(){
+ try {
+ vector<string> myArray;
+ return myArray;
+ }
+ catch(exception& e) {
+ m->errorOut(e, "SystemCommand", "getValidParameters");
+ exit(1);
+ }
+}
+//**********************************************************************************************************************
+vector<string> SystemCommand::getRequiredParameters(){
+ try {
+ vector<string> myArray;
+ return myArray;
+ }
+ catch(exception& e) {
+ m->errorOut(e, "SystemCommand", "getRequiredParameters");
+ exit(1);
+ }
+}
+//**********************************************************************************************************************
+vector<string> SystemCommand::getRequiredFiles(){
+ try {
+ vector<string> myArray;
+ return myArray;
+ }
+ catch(exception& e) {
+ m->errorOut(e, "SystemCommand", "getRequiredFiles");
+ exit(1);
+ }
+}
//**********************************************************************************************************************
-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; }
- else { command = option; }
+ 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);
+ }
+
+ command = option;
+ }
}
}
catch(exception& e) {
- errorOut(e, "SystemCommand", "SystemCommand");
+ m->errorOut(e, "SystemCommand", "SystemCommand");
exit(1);
}
}
void SystemCommand::help(){
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");
+ 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);
}
}
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);
}
}