//delimiting path char
char delim;
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) || (__linux__) || (__unix__) || (__unix)
delim = ':';
#else
delim = ';';
vector<string> dirs;
mout->splitAtChar(envPath, dirs, delim);
+ if (mout->debug) { mout->mothurOut("[DEBUG]: dir's in path: \n"); }
+
//get path related to mothur
for (int i = 0; i < dirs.size(); i++) {
+
+ if (mout->debug) { mout->mothurOut("[DEBUG]: " + dirs[i] + "\n"); }
+
//to lower so we can find it
string tempLower = "";
for (int j = 0; j < dirs[i].length(); j++) { tempLower += tolower(dirs[i][j]); }
//is this mothurs path?
if (tempLower.find("mothur") != -1) { mothurPath = dirs[i]; break; }
}
-
+
+ if (mout->debug) { mout->mothurOut("[DEBUG]: mothurPath = " + mothurPath + "\n"); }
+
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";
mout->openInputFile(tempIn, in, "");
//if this file exists
- if (in) { in.close(); mothurPath = tempIn; break; }
+ if (in) { in.close(); mothurPath = tempIn; break; if (mout->debug) { mout->mothurOut("[DEBUG]: found it, mothurPath = " + mothurPath + "\n"); } }
}
}
#endif
//executes valid command
mout->runParse = true;
- mout->Groups.clear();
- mout->namesOfGroups.clear();
+ 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 > ");
#endif
//executes valid command
mout->runParse = true;
- mout->Groups.clear();
- mout->namesOfGroups.clear();
+ 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()"; }
#endif
//executes valid command
mout->runParse = true;
- mout->Groups.clear();
- mout->namesOfGroups.clear();
+ 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(); }