def _process_sources_for_node( manifest: Manifest, current_project: str, node: ManifestNode ): target_source: Optional[Union[Disabled, ParsedSourceDefinition]] = None for source_name, table_name in node.sources: target_source = manifest.resolve_source( source_name, table_name, current_project, node.package_name, ) if target_source is None or isinstance(target_source, Disabled): # this folows the same pattern as refs node.config.enabled = False invalid_source_fail_unless_test( node, source_name, table_name, disabled=(isinstance(target_source, Disabled)) ) continue target_source_id = target_source.unique_id node.depends_on.nodes.append(target_source_id) manifest.update_node(node)
def _process_sources_for_exposure(manifest: Manifest, current_project: str, exposure: ParsedExposure): target_source: Optional[Union[Disabled, ParsedSourceDefinition]] = None for source_name, table_name in exposure.sources: target_source = manifest.resolve_source( source_name, table_name, current_project, exposure.package_name, ) if target_source is None or isinstance(target_source, Disabled): invalid_source_fail_unless_test(exposure, source_name, table_name, disabled=(isinstance( target_source, Disabled))) continue target_source_id = target_source.unique_id exposure.depends_on.nodes.append(target_source_id) manifest.update_exposure(exposure)