134def loadConfigurableDb():
135 """Load all ConfigurableDb files (modules) holding informations about
136 Configurables available in the release
137 """
138
139 import os
140 from os.path import join as path_join
141
142 cfgDb.msg.debug( "loading confDb files..." )
143 nFiles = 0
144 pathlist = os.getenv(
"LD_LIBRARY_PATH",
"").
split(os.pathsep)
145 for path in pathlist:
146 if not os.path.isdir(path):
147 continue
148 cfgDb.msg.verbose( "walking in [%s]..." % path )
149 confDbFiles = [f for f in [path_join(path, f) for f in os.listdir(path)
150 if f.endswith('.confdb')]
151 if os.path.isfile(f)]
152
153
154 mergedConfDbFiles = [f for f in confDbFiles
155 if f.endswith('_merged.confdb')]
156 if mergedConfDbFiles:
157
158 confDbFiles = mergedConfDbFiles
159
160 for confDb in confDbFiles:
161 cfgDb.msg.debug( "\t-loading [%s]...", confDb )
162 try:
163 cfgDb._loadModule( confDb )
164 except Exception as err:
165 import traceback
166 traceback.print_exc()
167 cfgDb.msg.warning( "Could not load file [%s] !", confDb )
168 cfgDb.msg.warning( "Reason: %s", err )
169 nFiles += 1
170 cfgDb.msg.debug( "loading confDb files... [DONE]" )
171 nPkgs = len(
set([k[
'package']
for k
in cfgDb.values()]) )
172 cfgDb.msg.debug( "loaded %i confDb packages", nPkgs )
173 return nFiles
174
175
std::vector< std::string > split(const std::string &s, const std::string &t=":")