Skip to content

Commit bf8861c

Browse files
kserruyskarelserruys-foodpairingchalmerlowemeredithslotatswast
authored
fix: add types to DatasetReference constructor (#1601)
* fix: add types to DatasetReference constructor * fix: add types to DatasetReference constructor * fix: DatasetReference.from_string test coverage --------- Co-authored-by: Karel Serruys <[email protected]> Co-authored-by: Chalmer Lowe <[email protected]> Co-authored-by: meredithslota <[email protected]> Co-authored-by: Tim Sweña (Swast) <[email protected]>
1 parent 82ae908 commit bf8861c

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

google/cloud/bigquery/dataset.py

+13-11
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ class DatasetReference(object):
9292
ValueError: If either argument is not of type ``str``.
9393
"""
9494

95-
def __init__(self, project, dataset_id):
95+
def __init__(self, project: str, dataset_id: str):
9696
if not isinstance(project, str):
9797
raise ValueError("Pass a string for project")
9898
if not isinstance(dataset_id, str):
@@ -166,22 +166,24 @@ def from_string(
166166
standard SQL format.
167167
"""
168168
output_dataset_id = dataset_id
169-
output_project_id = default_project
170169
parts = _helpers._split_id(dataset_id)
171170

172-
if len(parts) == 1 and not default_project:
173-
raise ValueError(
174-
"When default_project is not set, dataset_id must be a "
175-
"fully-qualified dataset ID in standard SQL format, "
176-
'e.g., "project.dataset_id" got {}'.format(dataset_id)
177-
)
171+
if len(parts) == 1:
172+
if default_project is not None:
173+
output_project_id = default_project
174+
else:
175+
raise ValueError(
176+
"When default_project is not set, dataset_id must be a "
177+
"fully-qualified dataset ID in standard SQL format, "
178+
'e.g., "project.dataset_id" got {}'.format(dataset_id)
179+
)
178180
elif len(parts) == 2:
179181
output_project_id, output_dataset_id = parts
180-
elif len(parts) > 2:
182+
else:
181183
raise ValueError(
182184
"Too many parts in dataset_id. Expected a fully-qualified "
183-
"dataset ID in standard SQL format. e.g. "
184-
'"project.dataset_id", got {}'.format(dataset_id)
185+
"dataset ID in standard SQL format, "
186+
'e.g. "project.dataset_id", got {}'.format(dataset_id)
185187
)
186188

187189
return cls(output_project_id, output_dataset_id)

0 commit comments

Comments
 (0)