PLearn 0.1
|
The first sentence should be a BRIEF DESCRIPTION of what the class does. More...
#include <ConfigParsing.h>
Public Member Functions | |
ConfigParsing () | |
virtual void | run (const std::vector< std::string > &args) |
The actual implementation of the 'ConfigParsing' command. | |
Static Protected Attributes | |
static PLearnCommandRegistry | reg_ |
This allows to register the 'ConfigParsing' command in the command registry. | |
Private Types | |
typedef PLearnCommand | inherited |
The first sentence should be a BRIEF DESCRIPTION of what the class does.
Place the rest of the class programmer documentation here. Doxygen supports Javadoc-style comments. See http://www.doxygen.org/manual.html
Definition at line 58 of file ConfigParsing.h.
typedef PLearnCommand PLearn::ConfigParsing::inherited [private] |
Definition at line 60 of file ConfigParsing.h.
PLearn::ConfigParsing::ConfigParsing | ( | ) |
Definition at line 52 of file ConfigParsing.cc.
: PLearnCommand( "ConfigParsing", ">>>> INSERT A SHORT ONE LINE DESCRIPTION HERE", ">>>> INSERT SYNTAX AND \n" "FULL DETAILED HELP HERE \n" ) {}
void PLearn::ConfigParsing::run | ( | const std::vector< std::string > & | args | ) | [virtual] |
The actual implementation of the 'ConfigParsing' command.
Implements PLearn::PLearnCommand.
Definition at line 62 of file ConfigParsing.cc.
References c, PLearn::endl(), i, PLearn::lowerstring(), NORMAL_LOG, PLearn::openFile(), PLCHECK, PLERROR, and PLearn::PStream::raw_ascii.
{ /* args0 = conf/conf.all.csv; args1 = conf/1convertCSV0709toPLearn.inc; args2 = conf/3b_remove_col.inc; args3 = conf/3fix_missing.inc; args4 = conf/9dichotomize.inc; args5 = conf/global_imputation_specifications.inc; */ PLCHECK(args.size()==6); TextFilesVMatrix input = TextFilesVMatrix(); input.auto_build_map = 0 ; input.default_spec="char"; input.build_vmatrix_stringmap = 1 ; input.delimiter = ",;" ; input.quote_delimiter = '"'; input.skipheader.append(1); input.reorder_fieldspec_from_headers=1; input.txtfilenames.append(args[0]); input.partial_match=1; input.setMetaDataDir("output.prepro/"+args[0]+".metadatadir"); input.build(); bool all_uptodate = true; for(int i=1;i<=5;i++) if(!input.isUpToDate(args[i])){ all_uptodate = false; break; } if(all_uptodate){ NORMAL_LOG << "All config file are uptodate. We don't regenerate them."<<endl; return; } PStream f_csv = openFile(PPath(args[1]),PStream::raw_ascii,"w"); PStream f_remove = openFile(args[2],PStream::raw_ascii,"w"); PStream f_missing = openFile(args[3],PStream::raw_ascii,"w"); PStream f_dichotomize = openFile(args[4],PStream::raw_ascii,"w"); PStream f_imputation = openFile(args[5],PStream::raw_ascii,"w"); for(int i=0;i<input.length();i++){ TVec<string> r = input.getTextFields(i); char c = r[0][0]; if(c=='#' || r[0].empty())//comment continue; if(!r[1].empty()){ f_csv << (r[0]); f_csv << (" : "); f_csv << (r[1]) << endl; } string y = lowerstring(r[2]);//TODO check that this is an accepted command. bool remove=false; if(y=="y" ||y=="yes"){//comment f_remove << (r[0]) << endl; remove=true; }else if(y=="n" ||y=="no"||y==""){ }else{ PLERROR("Unknow value in column C:'%s'",r[2].c_str()); } if(!r[3].empty() && !remove){ f_missing << (r[0]); f_missing << (" : "); f_missing << (r[3]);//TODO check that this is an accepted command. f_missing << endl; } if(!r[4].empty() && !remove){ f_imputation << (r[0]); f_imputation << (" : "); f_imputation << (r[4]);//TODO check that this is an accepted command. f_imputation << endl; } if(!r[5].empty() && !remove){ string s = r[0]; if(s[s.length()-1]=='*') s=s.substr(0,s.length()-1); f_dichotomize << s <<" : ["<< r[5] << " ]"<<endl; } } }
PLearnCommandRegistry PLearn::ConfigParsing::reg_ [static, protected] |
This allows to register the 'ConfigParsing' command in the command registry.
Definition at line 67 of file ConfigParsing.h.