X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=engine.cpp;h=df65678912b1f3bd112e630b13ef934eebc5e219;hb=753dc84cf289b1d5dc0ca5b0c043640927aa951a;hp=11d738dd0f2384b42a26f21349eeaa7bbca80a2a;hpb=825512fb96e5bb00e08665396d9fa6a8c4da5a68;p=mothur.git diff --git a/engine.cpp b/engine.cpp index 11d738d..df65678 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; @@ -64,18 +65,24 @@ bool InteractEngine::getInput(){ getline(cin, input); if (cin.eof()) { input = "quit()"; } - errorFree = errorCheckor->checkInput(input); - if (errorFree == true) { - CommandOptionParser parser(input); - commandName = parser.getCommandString(); + //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(); + 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; @@ -132,39 +139,37 @@ 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; - 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()"; } } + + //allow user to omit the () on the quit command + if (input == "quit") { 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; } + + } + gobble(inputBatchFile); } return 1; }