X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=engine.cpp;h=48f782ab2a590d71a292e7b83125ba8ce0f3fffe;hb=791f42d21a85f794529fd4c912dcc27d873c25e8;hp=98d730c31c2d03e3222057f8cef3da571aca0877;hpb=2009a1a1f47e7467094d844e7c07ab8ddf7bb447;p=mothur.git diff --git a/engine.cpp b/engine.cpp index 98d730c..48f782a 100644 --- a/engine.cpp +++ b/engine.cpp @@ -26,78 +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) || (__linux__) || (__unix__) || (__unix) - delim = ':'; - #else - delim = ';'; - #endif - - //break apart path variable by ':' - vector 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) || (__linux__) || (__unix__) || (__unix) - 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) || (__linux__) || (__unix__) || (__unix) - tempIn += "/mothur"; - #else - tempIn += "\\mothur"; - #endif - mout->openInputFile(tempIn, in, ""); - - //if this file exists - if (in) { in.close(); mothurPath = tempIn; break; if (mout->debug) { mout->mothurOut("[DEBUG]: found it, mothurPath = " + mothurPath + "\n"); } } - } - } - - return mothurPath; - - } - catch(exception& e) { - mout->errorOut(e, "Engine", "findMothursPath"); - exit(1); - } -} + /***********************************************************************/ InteractEngine::InteractEngine(string path){ @@ -106,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; } @@ -273,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; @@ -441,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;