Esempio n. 1
0
    def query_assets(self, query: Optional[str]) -> List[Asset]:
        """Returns all assets that match the query.  The supported query syntax is described in
        detail at https://docs.dagster.io/overview/solid-selection.
        """
        if query is None:
            return list(self._assets_by_path_str.values())

        queried_asset_path = parse_clause(query)[1]
        if queried_asset_path not in self._assets_by_path_str.keys():
            raise LakehouseAssetQueryError(f"{queried_asset_path} does not exist in set of assets.")

        return [self._assets_by_path_str[pstr] for pstr in clause_to_subset(self._dep_graph, query)]
Esempio n. 2
0
def test_parse_clause():
    assert parse_clause("some_solid") == (0, "some_solid", 0)
    assert parse_clause("*some_solid") == (MAX_NUM, "some_solid", 0)
    assert parse_clause("some_solid+") == (0, "some_solid", 1)
    assert parse_clause("+some_solid+") == (1, "some_solid", 1)
    assert parse_clause("*some_solid++") == (MAX_NUM, "some_solid", 2)
Esempio n. 3
0
def test_parse_clause_invalid():
    assert parse_clause("1+some_solid") == None
Esempio n. 4
0
def test_parse_clause():
    assert parse_clause('some_solid') == (0, 'some_solid', 0)
    assert parse_clause('*some_solid') == (MAX_NUM, 'some_solid', 0)
    assert parse_clause('some_solid+') == (0, 'some_solid', 1)
    assert parse_clause('+some_solid+') == (1, 'some_solid', 1)
    assert parse_clause('*some_solid++') == (MAX_NUM, 'some_solid', 2)