From ac82487b8c2f870843f4b5daaab8d841279def87 Mon Sep 17 00:00:00 2001 From: guigues Date: Wed, 8 Oct 2008 14:59:25 +0000 Subject: [PATCH] *** empty log message *** --- kernel/src/bbtkInterpreter.cxx | 218 ++++++++++++++++----------------- 1 file changed, 109 insertions(+), 109 deletions(-) diff --git a/kernel/src/bbtkInterpreter.cxx b/kernel/src/bbtkInterpreter.cxx index cd640bd..344d35c 100644 --- a/kernel/src/bbtkInterpreter.cxx +++ b/kernel/src/bbtkInterpreter.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkInterpreter.cxx,v $ $ Language: C++ - Date: $Date: 2008/10/08 13:39:33 $ - Version: $Revision: 1.75 $ + Date: $Date: 2008/10/08 14:59:25 $ + Version: $Revision: 1.76 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -1051,125 +1051,125 @@ void Interpreter::SplitLine ( const std::string& str, std::vector& pkgname = Utilities::ExtractScriptName(name,upath); bbtkMessage("Interpreter",3, - "extract : pkgname [" << pkgname - << "] upath [" << upath << "]" << std::endl); + "package name:[" << pkgname + << "] path:[" << upath << "]" << std::endl); bool fullnameGiven = false; bool foundFile = false; // ==== "*" provided : load all scripts in given path // relative (e.g. std/boxes/*) or absolute if (pkgname == "*") - { - int nbBssFiles; + { + + std::stringstream* stream = new std::stringstream; + //if (upath.size()!=0) // avoid troubles for "*" - std::stringstream* stream = new std::stringstream; - //if (upath.size()!=0) // avoid troubles for "*" + // ==== no path provided : look in root bbs path + if (upath.size()==0) + { + // bbtkMessage("Interpreter",1, + // LG : add all bbs path + // script_paths.push_back( ConfigurationFile::GetInstance().Get_root_bbs_path() ); + std::vector::const_iterator i; + for (i=ConfigurationFile::GetInstance().Get_bbs_paths().begin(); + i!=ConfigurationFile::GetInstance().Get_bbs_paths().end(); + i++) + { + script_paths.push_back(*i); + } + } + // ==== absolute path provided + else if (upath[0]=='/' || upath[1] == ':' ) + { + if ( Utilities::IsDirectory( upath ) ) + { + script_paths.push_back(upath); + } + else + { + bbtkError("'"<::const_iterator i; + for (i=ConfigurationFile::GetInstance().Get_bbs_paths().begin(); + i!=ConfigurationFile::GetInstance().Get_bbs_paths().end(); + i++) + { + std::string full_path(*i); + // we *really* want '.' to be the current working directory + if (full_path == ".") + { + char buf[2048]; // for getcwd + char * currentDir = getcwd(buf, 2048); + std::string cwd(currentDir); + full_path = currentDir; + } // if full_path + + full_path += ConfigurationFile::GetInstance().Get_file_separator(); + full_path += upath; + + if ( Utilities::IsDirectory( full_path ) ) + { + script_paths.push_back(full_path); + } + } + if (script_paths.empty()) + { + bbtkError("no '"<::const_iterator i; - for (i=ConfigurationFile::GetInstance().Get_bbs_paths().begin(); - i!=ConfigurationFile::GetInstance().Get_bbs_paths().end(); - i++) - { - script_paths.push_back(*i); - } - } - // ==== absolute path provided - else if (upath[0]=='/' || upath[1] == ':' ) - { - if ( Utilities::IsDirectory( upath ) ) - { - script_paths.push_back(upath); - } - else - { - bbtkError("'"<::const_iterator i; - for (i=ConfigurationFile::GetInstance().Get_bbs_paths().begin(); - i!=ConfigurationFile::GetInstance().Get_bbs_paths().end(); - i++) - { - std::string full_path(*i); - // we *really* want '.' to be the current working directory - if (full_path == ".") - { - char buf[2048]; // for getcwd - char * currentDir = getcwd(buf, 2048); - std::string cwd(currentDir); - full_path = currentDir; - } // if full_path - - full_path += ConfigurationFile::GetInstance().Get_file_separator(); - full_path += upath; - - if ( Utilities::IsDirectory( full_path ) ) - { - script_paths.push_back(full_path); - } - } - if (script_paths.empty()) - { - bbtkError("no '"<::iterator i; - for (i=script_paths.begin();i!=script_paths.end();i++) - { - bbtkMessage("Interpreter",1, + + // === search paths list complete : now explore it + int nbBssFiles = 0; + // ==== relative name, iterate + load all .bbs/.bbp files + std::vector::iterator i; + for (i=script_paths.begin();i!=script_paths.end();i++) + { + bbtkMessage("Interpreter",1, "--> Looking in '" << *i << "'" << std::endl); - - Filenames.clear(); - //int nbFiles = - Utilities::Explore(*i, false, Filenames); - nbBssFiles = 0; - for (std::vector::iterator j = Filenames.begin(); - j!= Filenames.end(); ++j) - { - int lgr = (*j).size(); - if (lgr < 5) continue; - // ignore non .bbp file - if ( (*j).substr(lgr-4, 4) != ".bbp") continue; - - (*stream) << "include \"" << *j << "\"\n"; - bbtkMessage("Interpreter",2," --> Found '" << *j << "'" << std::endl); + Filenames.clear(); + //int nbFiles = + Utilities::Explore(*i, false, Filenames); + + for (std::vector::iterator j = Filenames.begin(); + j!= Filenames.end(); ++j) + { + int lgr = (*j).size(); + if (lgr < 5) continue; + // ignore non .bbp file + if ( (*j).substr(lgr-4, 4) != ".bbp") continue; - nbBssFiles++; - } // for (std::vector... - } // for (i=script_... - if (nbBssFiles==0) - { - bbtkMessage("Interpreter",1, - " --> No .bbp found"<< std::endl); - } - else - { - bbtkMessage("Interpreter",1, - " --> "< Found '" << *j << "'" << std::endl); + + nbBssFiles++; + } // for (std::vector... + } // for (i=script_... + // === Result ... + if (nbBssFiles==0) + { + bbtkMessage("Interpreter",1, + " --> No .bbp found"<< std::endl); + } + else + { + bbtkMessage("Interpreter",1, + " --> "<