//**********************************************************************************************************************
CatchAllCommand::CatchAllCommand(){
try {
+ abort = true; calledHelp = true;
//initialize outputTypes
vector<string> tempOutNames;
outputTypes["csv"] = tempOutNames;
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
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<string> inputFileNames;
if (sharedfile != "") { inputFileNames = parseSharedFile(sharedfile); globaldata->setFormat("sabund"); }
else { inputFileNames.push_back(sabundfile); }
//wrap entire string in ""
catchAllCommand = "\"" + catchAllCommand + "\"";
#endif
- //run catchall
+
+ //run catchall
system(catchAllCommand.c_str());
remove(filename.c_str());