]> git.donarmstrong.com Git - mothur.git/blobdiff - commandoptionparser.cpp
Revert to previous commit
[mothur.git] / commandoptionparser.cpp
diff --git a/commandoptionparser.cpp b/commandoptionparser.cpp
new file mode 100644 (file)
index 0000000..dfad533
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ *  commandoptionparser.cpp
+ *  
+ *
+ *  Created by Pat Schloss on 10/23/08.
+ *  Copyright 2008 Patrick D. Schloss. All rights reserved.
+ *
+ */
+
+
+#include "commandoptionparser.hpp"
+
+
+//**********************************************************************************************************************
+//This Function parses through the command line and pulls out the command then sends the options to  the parseGlobalData
+CommandOptionParser::CommandOptionParser(string input){
+       try {
+               m = MothurOut::getInstance();
+               
+               int openParen = input.find_first_of('(');
+               int closeParen = input.find_last_of(')');
+               optionString = "";
+               commandString = "";
+
+               if(openParen != -1 && closeParen != -1){        
+            //gobble extra spaces
+            int spot = 0;
+            for (int i = 0; i < input.length(); i++) {  if (!(isspace(input[i]))) { spot = i; break; } }
+            if (spot > openParen) { spot = 0; }
+                       commandString = input.substr(spot, openParen-spot);   //commandString contains everything before "("
+                       optionString = input.substr((openParen+1), (closeParen-openParen-1)); //optionString contains everything between "(" and ")".
+               }
+               else if (openParen == -1) { m->mothurOut("[ERROR]: You are missing ("); m->mothurOutEndLine(); }
+               else if (closeParen == -1) { m->mothurOut("[ERROR]:You are missing )"); m->mothurOutEndLine(); }
+    }
+       catch(exception& e) {
+               m->errorOut(e, "CommandOptionParser", "CommandOptionParser");
+               exit(1);
+       }
+}
+
+//**********************************************************************************************************************
+
+string CommandOptionParser::getCommandString() {       return commandString;   }
+
+//**********************************************************************************************************************
+
+string CommandOptionParser::getOptionString()  {       return optionString;    }
+
+//**********************************************************************************************************************