Skip to content
This repository was archived by the owner on Mar 29, 2023. It is now read-only.

Commit d149432

Browse files
authored
refactor: fix mypy (#16)
1 parent 9c93ea5 commit d149432

File tree

6 files changed

+26
-28
lines changed

6 files changed

+26
-28
lines changed

ibis_bigquery/client.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -360,12 +360,11 @@ def parse_project_and_dataset(
360360
None
361361
362362
"""
363-
try:
364-
data_project, dataset = dataset.split('.')
365-
except (ValueError, AttributeError):
366-
billing_project = data_project = project
367-
else:
363+
if dataset is not None and "." in dataset:
364+
data_project, dataset = dataset.split(".")
368365
billing_project = project
366+
else:
367+
billing_project = data_project = project
369368

370369
return data_project, billing_project, dataset
371370

ibis_bigquery/udf/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import functools
33
import inspect
44
import itertools
5+
from typing import Dict, Iterable
56

67
import ibis.expr.datatypes as dt
78
import ibis.expr.rules as rlz
@@ -15,7 +16,7 @@
1516

1617
__all__ = ('udf',)
1718

18-
_udf_name_cache = collections.defaultdict(itertools.count)
19+
_udf_name_cache : Dict[str, Iterable[int]] = collections.defaultdict(itertools.count)
1920

2021

2122
def create_udf_node(name, fields):

tests/udf/test_core.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,6 @@
77

88
from ibis_bigquery.udf.core import PythonToJavaScriptTranslator, SymbolTable
99

10-
if PY38:
11-
# ref: https://github.com/ibis-project/ibis/issues/2098
12-
# note: UDF is already skipt on CI
13-
pytestmark = [pytest.mark.bigquery, pytest.mark.udf]
14-
else:
15-
pytestmark = pytest.mark.bigquery
16-
1710

1811
def test_symbol_table():
1912
symbols = SymbolTable()

tests/udf/test_find.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,6 @@
66

77
from ibis_bigquery.udf.find import find_names
88

9-
if PY38:
10-
# ref: https://github.com/ibis-project/ibis/issues/2098
11-
# note: UDF is already skipt on CI
12-
pytestmark = [pytest.mark.bigquery, pytest.mark.udf]
13-
else:
14-
pytestmark = pytest.mark.bigquery
15-
169

1710
def parse_expr(expr):
1811
body = parse_stmt(expr)

tests/udf/test_udf_execute.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,6 @@
1111
import ibis_bigquery
1212
from ibis_bigquery import udf # noqa: E402
1313

14-
if PY38:
15-
# ref: https://github.com/ibis-project/ibis/issues/2098
16-
# note: UDF is already skipt on CI
17-
pytestmark = [pytest.mark.bigquery, pytest.mark.udf]
18-
else:
19-
pytestmark = pytest.mark.bigquery
20-
21-
2214
PROJECT_ID = os.environ.get('GOOGLE_BIGQUERY_PROJECT_ID', 'ibis-gbq')
2315
DATASET_ID = 'testing'
2416

tests/unit/test_client.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import pytest
2+
3+
import ibis_bigquery.client
4+
5+
6+
@pytest.mark.parametrize(
7+
["project", "dataset", "expected"],
8+
[
9+
("my-project", None, ("my-project", "my-project", None)),
10+
("my-project", "my_dataset", ("my-project", "my-project", "my_dataset")),
11+
(
12+
"billing-project",
13+
"data-project.my_dataset",
14+
("data-project", "billing-project", "my_dataset"),
15+
),
16+
]
17+
)
18+
def test_parse_project_and_dataset(project, dataset, expected):
19+
got = ibis_bigquery.client.parse_project_and_dataset(project, dataset)
20+
assert got == expected

0 commit comments

Comments
 (0)