X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=engine.cpp;h=b0371378c29d72a7b37717e5c5d43cbc8f6ef23c;hb=0470f6d037aacb3563c3f7010708120a4a67d4e6;hp=add84b9e944ceeaaee5cd4313836bca2a751315d;hpb=a2edaadb975e5cb5d6cf68353bfe95f53235600d;p=mothur.git diff --git a/engine.cpp b/engine.cpp index add84b9..b037137 100644 --- a/engine.cpp +++ b/engine.cpp @@ -10,7 +10,7 @@ * Fix later, don't have time now. * */ -using namespace std; + #include "engine.hpp" @@ -42,12 +42,13 @@ bool InteractEngine::getInput(){ try { string input = ""; string commandName = ""; + string options = ""; int quitCommandCalled = 0; - bool errorFree; - ErrorCheck* errorCheckor = new ErrorCheck(); + //bool errorFree; + //ErrorCheck* errorCheckor = new ErrorCheck(); - cout << "mothur v1.2.0" << endl; - cout << "Last updated: 4/14/2009" << endl << endl; + cout << "mothur v.1.3.0" << endl; + cout << "Last updated: 5/29/2009" << endl << endl; cout << "by" << endl; cout << "Patrick D. Schloss" << endl << endl; cout << "Department of Microbiology" << endl; @@ -67,18 +68,21 @@ bool InteractEngine::getInput(){ //allow user to omit the () on the quit command if (input == "quit") { input = "quit()"; } - errorFree = errorCheckor->checkInput(input); - if (errorFree == true) { - CommandOptionParser parser(input); - commandName = parser.getCommandString(); + //errorFree = errorCheckor->checkInput(input); + //if (errorFree == true) { + CommandOptionParser parser(input); + commandName = parser.getCommandString(); + options = parser.getOptionString(); + + if (commandName != "") { //executes valid command CommandFactory cFactory; - Command* command = cFactory.getCommand(commandName); + Command* command = cFactory.getCommand(commandName, options); quitCommandCalled = command->execute(); - + }else { - cout << "Your input contains errors. Please try again." << endl; + cout << "Your input contains errors. Please try again." << endl; } } return 1; @@ -135,43 +139,36 @@ bool BatchEngine::getInput(){ string input = ""; string commandName = ""; - bool errorFree; - ErrorCheck* errorCheckor = new ErrorCheck(); - - CommandFactory cFactory; + string options = ""; + + //CommandFactory cFactory; int quitCommandCalled = 0; while(quitCommandCalled == 0){ - getline(inputBatchFile, input); + if (inputBatchFile.eof()) { input = "quit()"; } + else { getline(inputBatchFile, input); } + if (input[0] != '#') { - if (inputBatchFile.eof()) { input = "quit()"; } cout << endl << "mothur > " << input << endl; //allow user to omit the () on the quit command if (input == "quit") { input = "quit()"; } - errorFree = errorCheckor->checkInput(input); - if (errorFree == true) { - CommandOptionParser parser(input); - commandName = parser.getCommandString(); - ifstream filehandle; - - if (openedBatch == 0) { //able to open batchfile - //executes valid command - CommandFactory cFactory; - Command* command = cFactory.getCommand(commandName); - quitCommandCalled = command->execute(); - } - else { - cout << "Invalid." << endl; - } - } - else { - cout << "Unable to open batchfile." << endl; - } - }else { if (inputBatchFile.eof()) { input = "quit()"; } } + CommandOptionParser parser(input); + commandName = parser.getCommandString(); + options = parser.getOptionString(); + + if (commandName != "") { + + //executes valid command + CommandFactory cFactory; + Command* command = cFactory.getCommand(commandName, options); + quitCommandCalled = command->execute(); + }else { cout << "Invalid." << endl; } + + } } return 1; }