Skip to content

Commit

Permalink
ruff
Browse files Browse the repository at this point in the history
  • Loading branch information
MaxHalford committed Nov 19, 2023
1 parent 3ea3ae4 commit bc06db8
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 33 deletions.
4 changes: 1 addition & 3 deletions lea/app/run.py
Original file line number Diff line number Diff line change
Expand Up @@ -251,9 +251,7 @@ def display_progress() -> rich.table.Table:

console_log(f"{len(cache):,d} view(s) already done")

with rich.live.Live(
display_progress(), vertical_overflow="visible"
) as live:
with rich.live.Live(display_progress(), vertical_overflow="visible") as live:
while dag.is_active():
# We check if new views have been unlocked
# If so, we submit a job to create them
Expand Down
14 changes: 10 additions & 4 deletions lea/clients/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,9 @@ def make_column_test_set(self, view: views.View, column: str, elements: set[str]

def load_assertion_test_template(self, tag: str) -> jinja2.Template:
return jinja2.Template(
(pathlib.Path(__file__).parent / "assertions" / f"{tag.lstrip('@')}.sql.jinja").read_text()
(
pathlib.Path(__file__).parent / "assertions" / f"{tag.lstrip('@')}.sql.jinja"
).read_text()
)

def discover_assertion_tests(self, view, view_columns):
Expand Down Expand Up @@ -138,16 +140,20 @@ def discover_assertion_tests(self, view, view_columns):
query=self.make_column_test_unique(view, column),
sqlglot_dialect=self.sqlglot_dialect,
)
elif unique_by := re.fullmatch(rf"{AssertionTag.UNIQUE_BY}\((?P<by>.+)\)", comment.text):
elif unique_by := re.fullmatch(
rf"{AssertionTag.UNIQUE_BY}\((?P<by>.+)\)", comment.text
):
by = unique_by.group("by")
yield views.GenericSQLView(
schema="tests",
name=f"{view}.{column}{AssertionTag.UNIQUE_BY}{by}",
query=self.make_column_test_unique_by(view, column, by),
sqlglot_dialect=self.sqlglot_dialect,
)
elif set_ := re.fullmatch(AssertionTag.SET + r"\{(?P<elements>\w+(?:,\s*\w+)*)\}", comment.text):
elements = {element.strip() for element in set_.group("elements").split(',')}
elif set_ := re.fullmatch(
AssertionTag.SET + r"\{(?P<elements>\w+(?:,\s*\w+)*)\}", comment.text
):
elements = {element.strip() for element in set_.group("elements").split(",")}
yield views.GenericSQLView(
schema="tests",
name=f"{view}.{column}{AssertionTag.SET}",
Expand Down
26 changes: 13 additions & 13 deletions lea/clients/bigquery.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

import lea

from .base import Client
from .base import AssertionTag, Client


class BigQuery(Client):
Expand Down Expand Up @@ -148,24 +148,24 @@ def _make_view_path(self, view: lea.views.View) -> str:
return f"{self.dataset_name}.{lea._SEP.join(view.key)}"

def make_column_test_unique(self, view: lea.views.View, column: str) -> str:
return self.load_assertion_test_template(
AssertionTag.UNIQUE
).render(table=self._make_view_path(view), column=column)
return self.load_assertion_test_template(AssertionTag.UNIQUE).render(
table=self._make_view_path(view), column=column
)

def make_column_test_unique_by(self, view: lea.views.View, column: str, by: str) -> str:
schema, *leftover = view.key
return self.load_assertion_test_template(
AssertionTag.UNIQUE_BY
).render(table=self._make_view_path(view), column=column, by=by)
return self.load_assertion_test_template(AssertionTag.UNIQUE_BY).render(
table=self._make_view_path(view), column=column, by=by
)

def make_column_test_no_nulls(self, view: lea.views.View, column: str) -> str:
schema, *leftover = view.key
return self.load_assertion_test_template(
AssertionTag.NO_NULLS
).render(table=self._make_view_path(view), column=column)
return self.load_assertion_test_template(AssertionTag.NO_NULLS).render(
table=self._make_view_path(view), column=column
)

def make_column_test_set(self, view: lea.views.View, column: str, elements: set[str]) -> str:
schema, *leftover = view.key
return self.load_assertion_test_template(
AssertionTag.SET
).render(table=self._make_view_path(view), column=column, elements=elements)
return self.load_assertion_test_template(AssertionTag.SET).render(
table=self._make_view_path(view), column=column, elements=elements
)
26 changes: 13 additions & 13 deletions lea/clients/duckdb.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

import lea

from .base import Client, AssertionTag
from .base import AssertionTag, Client


class DuckDB(Client):
Expand Down Expand Up @@ -102,24 +102,24 @@ def _make_view_path(self, view: lea.views.View) -> str:

def make_column_test_unique(self, view: lea.views.View, column: str) -> str:
schema, *leftover = view.key
return self.load_assertion_test_template(
AssertionTag.UNIQUE
).render(table=f"{schema}.{lea._SEP.join(leftover)}", column=column)
return self.load_assertion_test_template(AssertionTag.UNIQUE).render(
table=f"{schema}.{lea._SEP.join(leftover)}", column=column
)

def make_column_test_unique_by(self, view: lea.views.View, column: str, by: str) -> str:
schema, *leftover = view.key
return self.load_assertion_test_template(
AssertionTag.UNIQUE_BY
).render(table=f"{schema}.{lea._SEP.join(leftover)}", column=column, by=by)
return self.load_assertion_test_template(AssertionTag.UNIQUE_BY).render(
table=f"{schema}.{lea._SEP.join(leftover)}", column=column, by=by
)

def make_column_test_no_nulls(self, view: lea.views.View, column: str) -> str:
schema, *leftover = view.key
return self.load_assertion_test_template(
AssertionTag.NO_NULLS
).render(table=f"{schema}.{lea._SEP.join(leftover)}", column=column)
return self.load_assertion_test_template(AssertionTag.NO_NULLS).render(
table=f"{schema}.{lea._SEP.join(leftover)}", column=column
)

def make_column_test_set(self, view: lea.views.View, column: str, elements: set[str]) -> str:
schema, *leftover = view.key
return self.load_assertion_test_template(
AssertionTag.SET
).render(table=f"{schema}.{lea._SEP.join(leftover)}", column=column, elements=elements)
return self.load_assertion_test_template(AssertionTag.SET).render(
table=f"{schema}.{lea._SEP.join(leftover)}", column=column, elements=elements
)

0 comments on commit bc06db8

Please sign in to comment.