]> git.donarmstrong.com Git - mothur.git/blobdiff - systemcommand.cpp
created mothurOut class to handle logfiles
[mothur.git] / systemcommand.cpp
index 5bc9b46e47522d38fe4a89f0119df8785a4d8d4d..708724a4e5cd46643e7ec29464b61c1f34c7cd41 100644 (file)
@@ -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<string> 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<string,string> parameters = parser.getParameters();
-                       
-                       ValidParameters validParameter;
-                       
-                       //check to make sure all parameters are valid for command
-                       for (map<string,string>::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);
        }
 }