]> git.donarmstrong.com Git - mothur.git/blobdiff - getlinecommand.cpp
removing mallard
[mothur.git] / getlinecommand.cpp
index df14f5123d2bd2e8c6d02380520810211e19c461..f1ec55cab12261a5b91f425553bf34bc71393727 100644 (file)
@@ -9,20 +9,41 @@
 
 #include "getlinecommand.h"
 
-
-GetlineCommand::GetlineCommand(){
+//**********************************************************************************************************************
+GetlineCommand::GetlineCommand(string option){
        try {
                globaldata = GlobalData::getInstance();
+               abort = false;
+               
+               //allow user to run help
+               if(option == "help") { help(); abort = true; }
+               
+               else {
+                       if (option != "") { mothurOut("There are no valid parameters for the get.line command."); mothurOutEndLine(); abort = true; }
+                       
+                       if ((globaldata->getListFile() == "") && (globaldata->getRabundFile() == "") && (globaldata->getSabundFile() == "")) { mothurOut("You must read a list, sabund or rabund before you can use the get.line command."); mothurOutEndLine(); abort = true; }                                
+               }
+
        }
        catch(exception& e) {
-               cout << "Standard Error: " << e.what() << " has occurred in the GetlineCommand class Function GetlineCommand. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
+               errorOut(e, "GetlineCommand", "GetlineCommand");
                exit(1);
        }
-       catch(...) {
-               cout << "An unknown error has occurred in the GetlineCommand class function GetlineCommand. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
+}
+//**********************************************************************************************************************
+
+void GetlineCommand::help(){
+       try {
+               mothurOut("The get.line command can only be executed after a successful read.otu command.\n");
+               mothurOut("You may not use any parameters with the get.line command.\n");
+               mothurOut("The get.line command should be in the following format: \n");
+               mothurOut("get.line()\n");
+               mothurOut("Example get.line().\n");
+       }
+       catch(exception& e) {
+               errorOut(e, "GetlineCommand", "help");
                exit(1);
-       }       
-                       
+       }
 }
 
 //**********************************************************************************************************************
@@ -34,9 +55,11 @@ GetlineCommand::~GetlineCommand(){
 
 int GetlineCommand::execute(){
        try {
-               filename = globaldata->inputFileName;
+       
+               if (abort == true) { return 0; }
+       
                ifstream in;
-               openInputFile(filename, in);
+               openInputFile(globaldata->inputFileName, in);
                string label;
                int numBins = 0;
                int count = -1;
@@ -45,24 +68,22 @@ int GetlineCommand::execute(){
                        if(count > numBins)
                                count = 0;
                        if(count == 0) {
-                               cout << line << "\n";
+                               mothurOut(toString(line)); mothurOutEndLine();
                                in >> numBins;
                                line++;
                        }
                        in >> label;
                        count++;
                }
+               
+               in.close();
                return 0;               
        }
 
        catch(exception& e) {
-               cout << "Standard Error: " << e.what() << " has occurred in the GetlineCommand class Function execute. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
+               errorOut(e, "GetlineCommand", "execute");
                exit(1);
        }
-       catch(...) {
-               cout << "An unknown error has occurred in the GetlineCommand class function execute. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
-               exit(1);
-       }       
 }