in granule_ingester/granule_ingester/pipeline/Pipeline.py [0:0]
def _build_pipeline(cls,
config: dict,
data_store_factory,
metadata_store_factory,
module_mappings: dict,
max_concurrency: int):
try:
if 'preprocess' in config:
granule_loader = GranuleLoader(**config['granule'], **{'preprocess': config['preprocess']})
else:
granule_loader = GranuleLoader(**config['granule'])
slicer_config = config['slicer']
slicer = cls._parse_module(slicer_config, module_mappings)
tile_processors = []
for processor_config in config['processors']:
module = cls._parse_module(processor_config, module_mappings)
tile_processors.append(module)
return cls(granule_loader,
slicer,
data_store_factory,
metadata_store_factory,
tile_processors,
max_concurrency)
except PipelineBuildingError:
raise
except KeyError as e:
raise PipelineBuildingError(f"Cannot build pipeline because {e} is missing from the YAML.")
except Exception as e:
logger.exception(e)
raise PipelineBuildingError(f"Cannot build pipeline because of the following error: {e}")