//delimiting path char
char delim;
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) || (__linux__) || (__unix__) || (__unix)
delim = ':';
#else
delim = ';';
if (mothurPath != "") {
//add mothur so it looks like what argv would look like
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) || (__linux__) || (__unix__) || (__unix)
mothurPath += "/mothur";
#else
mothurPath += "\\mothur";
//is this mothurs path?
ifstream in;
string tempIn = dirs[i];
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) || (__linux__) || (__unix__) || (__unix)
tempIn += "/mothur";
#else
tempIn += "\\mothur";
InteractEngine::InteractEngine(string path){
- globaldata = GlobalData::getInstance();
string temppath = path.substr(0, (path.find_last_of("othur")-5));
//this will happen if you set the path variable to contain mothur's exe location
if (temppath == "") { path = findMothursPath(); }
- globaldata->argv = path;
+ mout->argv = path;
}
/***********************************************************************/
//cout << pid << " is in execute " << commandName << endl;
#endif
//executes valid command
+ mout->runParse = true;
+ mout->clearGroups();
+ mout->clearAllGroups();
+ mout->Treenames.clear();
+ mout->names.clear();
+ mout->saveNextLabel = "";
+ mout->printedHeaders = false;
+ mout->commandInputsConvertError = false;
+ mout->currentBinLabels.clear();
+ mout->binLabelsInFile.clear();
+
Command* command = cFactory->getCommand(commandName, options);
- quitCommandCalled = command->execute();
+ if (mout->commandInputsConvertError) { quitCommandCalled = 2; }
+ else { quitCommandCalled = command->execute(); }
//if we aborted command
if (quitCommandCalled == 2) { mout->mothurOut("[ERROR]: did not complete " + commandName + "."); mout->mothurOutEndLine(); }
string Engine::getCommand() {
try {
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) || (__linux__) || (__unix__) || (__unix)
#ifdef USE_READLINE
char* nextCommand = NULL;
nextCommand = readline("mothur > ");
if(nextCommand != NULL) { add_history(nextCommand); }
else{ //^D causes null string and we want it to quit mothur
- strcpy(nextCommand, "quit");
+ nextCommand = strdup("quit");
mout->mothurOut(nextCommand);
}
//This function opens the batchfile to be used by BatchEngine::getInput.
BatchEngine::BatchEngine(string path, string batchFileName){
try {
- globaldata = GlobalData::getInstance();
openedBatch = mout->openInputFile(batchFileName, inputBatchFile);
//this will happen if you set the path variable to contain mothur's exe location
if (temppath == "") { path = findMothursPath(); }
- globaldata->argv = path;
+ mout->argv = path;
}
catch(exception& e) {
if ((cFactory->MPIEnabled(commandName)) || (pid == 0)) {
#endif
//executes valid command
+ mout->runParse = true;
+ mout->clearGroups();
+ mout->clearAllGroups();
+ mout->Treenames.clear();
+ mout->names.clear();
+ mout->saveNextLabel = "";
+ mout->printedHeaders = false;
+ mout->commandInputsConvertError = false;
+ mout->currentBinLabels.clear();
+ mout->binLabelsInFile.clear();
+
+
Command* command = cFactory->getCommand(commandName, options);
- quitCommandCalled = command->execute();
+ if (mout->commandInputsConvertError) { quitCommandCalled = 2; }
+ else { quitCommandCalled = command->execute(); }
//if we aborted command
if (quitCommandCalled == 2) { mout->mothurOut("[ERROR]: did not complete " + commandName + "."); mout->mothurOutEndLine(); }
/***********************************************************************/
string BatchEngine::getNextCommand(ifstream& inputBatchFile) {
try {
-
+
string nextcommand = "";
if (inputBatchFile.eof()) { nextcommand = "quit()"; }
//This function opens the batchfile to be used by BatchEngine::getInput.
ScriptEngine::ScriptEngine(string path, string commandString){
try {
- globaldata = GlobalData::getInstance();
//remove quotes
listOfCommands = commandString.substr(1, (commandString.length()-1));
//this will happen if you set the path variable to contain mothur's exe location
if (temppath == "") { path = findMothursPath(); }
- globaldata->argv = path;
+ mout->argv = path;
}
catch(exception& e) {
if (input == "") { input = "quit()"; }
- mout->mothurOutEndLine();
- mout->mothurOut("mothur > " + input);
- mout->mothurOutEndLine();
+ if (mout->gui) {
+ if ((input.find("quit") != string::npos) || (input.find("set.logfile") != string::npos)) {}
+ else if ((input.find("get.current") != string::npos) && (!mout->hasCurrentFiles())) {}
+ else { mout->mothurOutEndLine(); mout->mothurOut("mothur > " + input); mout->mothurOutEndLine(); }
+ }else{
+ mout->mothurOutEndLine(); mout->mothurOut("mothur > " + input); mout->mothurOutEndLine();
+ }
#ifdef USE_MPI
//send commandName
//cout << pid << " is in execute" << endl;
#endif
//executes valid command
+ mout->runParse = true;
+ mout->clearGroups();
+ mout->clearAllGroups();
+ mout->Treenames.clear();
+ mout->names.clear();
+ mout->saveNextLabel = "";
+ mout->printedHeaders = false;
+ mout->commandInputsConvertError = false;
+ mout->currentBinLabels.clear();
+ mout->binLabelsInFile.clear();
+
Command* command = cFactory->getCommand(commandName, options);
- quitCommandCalled = command->execute();
+ if (mout->commandInputsConvertError) { quitCommandCalled = 2; }
+ else { quitCommandCalled = command->execute(); }
//if we aborted command
if (quitCommandCalled == 2) { mout->mothurOut("[ERROR]: did not complete " + commandName + "."); mout->mothurOutEndLine(); }