X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=catchallcommand.cpp;h=b0ab7c8314ac7e1a5b267b02bf2ccad559b62355;hb=fca3f55d5ded10c3dc77856f3cc4a1c53b02bb6f;hp=b0e5eff6652a9defaa887eb7d21bb9bfe9e372a6;hpb=995238e9aa4455e3b59053e3dfe497b89caed79e;p=mothur.git diff --git a/catchallcommand.cpp b/catchallcommand.cpp index b0e5eff..b0ab7c8 100644 --- a/catchallcommand.cpp +++ b/catchallcommand.cpp @@ -25,6 +25,7 @@ vector CatchAllCommand::getValidParameters(){ //********************************************************************************************************************** CatchAllCommand::CatchAllCommand(){ try { + abort = true; calledHelp = true; //initialize outputTypes vector tempOutNames; outputTypes["csv"] = tempOutNames; @@ -62,11 +63,11 @@ vector CatchAllCommand::getRequiredFiles(){ CatchAllCommand::CatchAllCommand(string option) { try { globaldata = GlobalData::getInstance(); - abort = false; + abort = false; calledHelp = false; allLines = 1; //allow user to run help - if(option == "help") { help(); abort = true; } + if(option == "help") { help(); abort = true; calledHelp = true; } else { //valid paramters for this command @@ -173,24 +174,26 @@ void CatchAllCommand::help(){ int CatchAllCommand::execute() { try { - if (abort == true) { return 0; } - - //prepare full output directory - outputDir = m->getFullPathName(outputDir); + if (abort == true) { if (calledHelp) { return 0; } return 2; } //get location of catchall GlobalData* globaldata = GlobalData::getInstance(); path = globaldata->argv; - path = path.substr(0, (path.find_last_of('m'))); + path = path.substr(0, (path.find_last_of("othur")-5)); path = m->getFullPathName(path); - + string catchAllCommandExe = ""; #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) catchAllCommandExe += "mono " + path + "CatchAllcmdL.exe "; + if (outputDir == "") { outputDir = "./"; } //force full pathname to be created for catchall, this is necessary because if catchall is in the path it will look for input file whereever the exe is and not the cwd. #else catchAllCommandExe += "\"" + path + "CatchAllcmdW.exe\"" + " "; + if (outputDir == "") { outputDir = ".\\"; } //force full pathname to be created for catchall, this is necessary because if catchall is in the path it will look for input file whereever the exe is and not the cwd. #endif + //prepare full output directory + outputDir = m->getFullPathName(outputDir); + vector inputFileNames; if (sharedfile != "") { inputFileNames = parseSharedFile(sharedfile); globaldata->setFormat("sabund"); } else { inputFileNames.push_back(sabundfile); } @@ -236,7 +239,8 @@ int CatchAllCommand::execute() { //wrap entire string in "" catchAllCommand = "\"" + catchAllCommand + "\""; #endif - //run catchall + + //run catchall system(catchAllCommand.c_str()); remove(filename.c_str());