]> git.donarmstrong.com Git - mothur.git/blobdiff - systemcommand.cpp
a few meaningless changes that are commented out
[mothur.git] / systemcommand.cpp
index 0820b0521961224c04f3b7c6207f4fd3d490c5fd..6b0a6d06474809f16fae1a0c17338ef1f7458dc7 100644 (file)
@@ -9,37 +9,49 @@
 
 #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; }
-                       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(){
+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);
        }
 }
@@ -49,7 +61,7 @@ void SystemCommand::help(){
 int SystemCommand::execute(){
        try {
                
-               if (abort == true) { return 0; }
+               if (abort == true) { if (calledHelp) { return 0; }  return 2;   }
                
                system(command.c_str());
                
@@ -57,7 +69,7 @@ int SystemCommand::execute(){
        }
 
        catch(exception& e) {
-               errorOut(e, "SystemCommand", "execute");
+               m->errorOut(e, "SystemCommand", "execute");
                exit(1);
        }
 }