def test_source_model_calling_a_filter(self): sm_filter = SourceModelCatalogFilter() sm_filter.filter_eqs = Mock() sm_filter.filter_eqs.return_value = [] catalog_filter = CatalogFilter(sm_filter) gen = catalog_filter.filter_eqs([dict(a=1), dict(b=2)], []) self.assertEqual((dict(a=1), []), gen.next()) self.assertEqual((dict(b=2), []), gen.next()) self.assertEqual(dict(a=1), sm_filter.filter_eqs.call_args_list[0][0][0]) self.assertEqual(dict(b=2), sm_filter.filter_eqs.call_args_list[1][0][0])
from mtoolkit.catalog_filter import CatalogFilter, SourceModelCatalogFilter if __name__ == '__main__': CMD_LINE_ARGS = cmd_line() if CMD_LINE_ARGS: INPUT_CONFIG_FILENAME = CMD_LINE_ARGS.input_file[0] LOG_LEVEL = logging.DEBUG if CMD_LINE_ARGS.detailed else logging.INFO build_logger(LOG_LEVEL) CONTEXT = Context(INPUT_CONFIG_FILENAME) PIPELINE_PREPROCESSING = PreprocessingBuilder().build(CONTEXT.config) PIPELINE_PROCESSING = ProcessingBuilder().build(CONTEXT.config) if CONTEXT.config['source_model_file']: CATALOG_FILTER = CatalogFilter(SourceModelCatalogFilter()) else: CATALOG_FILTER = CatalogFilter() WORKFLOW = Workflow(PIPELINE_PREPROCESSING, PIPELINE_PROCESSING) WORKFLOW.start(CONTEXT, CATALOG_FILTER) WRITER = AreaSourceWriter(CONTEXT.config['result_file']) WRITER.serialize(CONTEXT.sm_definitions)
def test_empty_source_model(self): catalog_filter = CatalogFilter(None) self.assertRaises(StopIteration, catalog_filter.filter_eqs([], []).next)
def run(workflow, context): """Run the workflow with source model filtering""" return workflow.start(context, CatalogFilter(SourceModelCatalogFilter()))