X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fstd%2Fsrc%2FbbstdFilesFromDirectory.cxx;h=4caeae3c6cc4a96500ade9515abaeade4250e929;hb=83ab568865c75a1064fbd485997ff98b78d5195d;hp=77dc59f1b4ae1b769b85560745fce8364e4956e5;hpb=2eca3a52df362d04f3f914fe90c16c570f8d775a;p=bbtk.git diff --git a/packages/std/src/bbstdFilesFromDirectory.cxx b/packages/std/src/bbstdFilesFromDirectory.cxx index 77dc59f..4caeae3 100644 --- a/packages/std/src/bbstdFilesFromDirectory.cxx +++ b/packages/std/src/bbstdFilesFromDirectory.cxx @@ -49,18 +49,23 @@ void FilesFromDirectory::Process() { Filenames.clear(); SimpleFilenames.clear(); - if (bbGetInputIn()!="") + + if (bbGetInputActive()==true) { - DirName = bbGetInputIn(); - /*int nbFiles = */ Explore(DirName, bbGetInputRecursive(), bbGetInputRecursiveLevel() ); - CleanFilenames( DirName ); - bbSetOutputOut(Filenames); - bbSetOutputOutSimple(SimpleFilenames); - } // if In + if (bbGetInputIn()!="") + { + DirName = bbGetInputIn(); + /*int nbFiles = */ Explore(DirName, bbGetInputRecursive(), bbGetInputRecursiveLevel() ); + CleanFilenames( DirName ); + } // if In + } // Active + bbSetOutputOut(Filenames); + bbSetOutputOutSimple(SimpleFilenames); } void FilesFromDirectory::bbUserSetDefaultValues() { + bbSetInputActive(true); bbSetInputIn("."); bbSetInputRecursive(false); bbSetInputType(0); @@ -293,24 +298,27 @@ if (recursiveLevel>=0){ void FilesFromDirectory::CleanFilenames( std::string basePath ) { std::string tmpString; - int i,ii,sizeFilenames = Filenames.size(); - int j,sizeFileEnd = bbGetInputFileEnd().size(); - + int i,ii,sizeFilenames = Filenames.size(); + int j,sizeFileEnd = bbGetInputFileEnd().size(); int okEraseElement; - + int posStr; //Selecting just the files in the FileEnd List if (bbGetInputFileEnd().size()!=0) { for (i=sizeFilenames-1; i>=0; i--) { - okEraseElement=0; + okEraseElement = 0; for (j=0; j=0) { - okEraseElement++; - } // if FileEnd + std::string tmp=Filenames[i].substr( posStr ) ; + if (bbGetInputFileEnd()[j].compare( tmp )==0 ) + { + okEraseElement++; + } // if FileEnd + }// if posStr } // for j if (okEraseElement==0) @@ -319,14 +327,11 @@ void FilesFromDirectory::CleanFilenames( std::string basePath ) } } // for i } // if FileEnd !=0 - sizeFilenames = Filenames.size(); - // Cleanning paths with spaces for (i=0; i