X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=engine.cpp;h=48f782ab2a590d71a292e7b83125ba8ce0f3fffe;hb=16f9c4ab6f39769856b13e048eae2c8eaa413c02;hp=ea1c0e14dc9f89fe0157d24828a2e9552297389c;hpb=0ca63a8165baa0afa459e644ebe140ba496d5ba0;p=mothur.git diff --git a/engine.cpp b/engine.cpp index ea1c0e1..48f782a 100644 --- a/engine.cpp +++ b/engine.cpp @@ -26,71 +26,7 @@ Engine::Engine(){ } } /***********************************************************************/ -string Engine::findMothursPath(){ - try { - - string envPath = getenv("PATH"); - string mothurPath = ""; - - //delimiting path char - char delim; - #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) - delim = ':'; - #else - delim = ';'; - #endif - - //break apart path variable by ':' - vector dirs; - mout->splitAtChar(envPath, dirs, delim); - - //get path related to mothur - for (int i = 0; i < dirs.size(); i++) { - //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 (mothurPath != "") { - //add mothur so it looks like what argv would look like - #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) - mothurPath += "/mothur"; - #else - mothurPath += "\\mothur"; - #endif - }else { - //okay mothur is not in the path, so the folder mothur is in must be in the path - //lets find out which one - - //get path related to mothur - for (int i = 0; i < dirs.size(); i++) { - - //is this mothurs path? - ifstream in; - string tempIn = dirs[i]; - #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) - tempIn += "/mothur"; - #else - tempIn += "\\mothur"; - #endif - mout->openInputFile(tempIn, in, ""); - - //if this file exists - if (in) { in.close(); mothurPath = tempIn; break; } - } - } - - return mothurPath; - - } - catch(exception& e) { - mout->errorOut(e, "Engine", "findMothursPath"); - exit(1); - } -} + /***********************************************************************/ InteractEngine::InteractEngine(string path){ @@ -99,7 +35,7 @@ InteractEngine::InteractEngine(string path){ 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(); } + if (temppath == "") { path = mout->findProgramPath("mothur"); } mout->argv = path; } @@ -183,7 +119,6 @@ bool InteractEngine::getInput(){ mout->clearGroups(); mout->clearAllGroups(); mout->Treenames.clear(); - mout->names.clear(); mout->saveNextLabel = ""; mout->printedHeaders = false; mout->commandInputsConvertError = false; @@ -219,7 +154,7 @@ bool InteractEngine::getInput(){ 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 > "); @@ -267,7 +202,7 @@ BatchEngine::BatchEngine(string path, string batchFileName){ 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(); } + if (temppath == "") { path = mout->findProgramPath("mothur"); } mout->argv = path; @@ -369,7 +304,6 @@ bool BatchEngine::getInput(){ mout->clearGroups(); mout->clearAllGroups(); mout->Treenames.clear(); - mout->names.clear(); mout->saveNextLabel = ""; mout->printedHeaders = false; mout->commandInputsConvertError = false; @@ -436,7 +370,7 @@ ScriptEngine::ScriptEngine(string path, string commandString){ 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(); } + if (temppath == "") { path = mout->findProgramPath("mothur"); } mout->argv = path; @@ -538,7 +472,6 @@ bool ScriptEngine::getInput(){ mout->clearGroups(); mout->clearAllGroups(); mout->Treenames.clear(); - mout->names.clear(); mout->saveNextLabel = ""; mout->printedHeaders = false; mout->commandInputsConvertError = false;