dbt-selly/dbt-env/lib/python3.8/site-packages/dbt/parser/analysis.py

22 lines
661 B
Python

import os
from dbt.contracts.graph.parsed import ParsedAnalysisNode
from dbt.node_types import NodeType
from dbt.parser.base import SimpleSQLParser
from dbt.parser.search import FileBlock
class AnalysisParser(SimpleSQLParser[ParsedAnalysisNode]):
def parse_from_dict(self, dct, validate=True) -> ParsedAnalysisNode:
if validate:
ParsedAnalysisNode.validate(dct)
return ParsedAnalysisNode.from_dict(dct)
@property
def resource_type(self) -> NodeType:
return NodeType.Analysis
@classmethod
def get_compiled_path(cls, block: FileBlock):
return os.path.join('analysis', block.path.relative_path)