diff -r a2e65c705db8 -r 63964d875993 configurationengine/source/cone/action/configroot2flat.py --- a/configurationengine/source/cone/action/configroot2flat.py Tue Oct 26 10:43:50 2010 +0100 +++ b/configurationengine/source/cone/action/configroot2flat.py Sat Nov 06 16:59:14 2010 +0200 @@ -78,12 +78,16 @@ @param config: the configuration object to process. """ includes = [] - for include in config.list_configurations(): - if include.endswith('/root.confml'): - includes.append(utils.resourceref.remove_begin_slash(include)) - else: - subconfig = config.get_configuration(include) - includes += get_flat_includes(subconfig) + try: + for include in config.list_configurations(): + if include.endswith('/root.confml'): + includes.append(utils.resourceref.remove_begin_slash(include)) + else: + subconfig = config.get_configuration(include) + includes += get_flat_includes(subconfig) + except Exception, e: + logger.error('Error getting includes from sub-configuration: %s: %s' + % (e.__class__.__name__, e)) return includes def get_nested_meta(config, recursion_depth=-1): @@ -96,17 +100,21 @@ """ meta = confml_model.ConfmlMeta() - if recursion_depth != 0: - # First recurse through all subconfigurations to get their meta - for subconfig_name in config.list_configurations(): - subconfig = config.get_configuration(subconfig_name) - submeta = get_nested_meta(subconfig, recursion_depth-1) - - meta.update( submeta ) - - # lastly, update the meta data of the root configuration - if config.meta: - meta.update(config.meta) + try: + if recursion_depth != 0: + # First recurse through all subconfigurations to get their meta + for subconfig_name in config.list_configurations(): + subconfig = config.get_configuration(subconfig_name) + submeta = get_nested_meta(subconfig, recursion_depth-1) + + meta.update( submeta ) + + # lastly, update the meta data of the root configuration + if config.meta: + meta.update(config.meta) + except Exception, e: + logger.error('Error getting metadata from sub-configuration: %s: %s' + % (e.__class__.__name__, e)) return meta