Skip to content

Commit d902988

Browse files
authored
Make mypy green! (added per-line ignores for current errors) (#256)
1 parent 5f8f8ba commit d902988

File tree

207 files changed

+693
-657
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

207 files changed

+693
-657
lines changed

lib/dl_api_client/dl_api_client/dsmaker/api/data_api.py

Lines changed: 65 additions & 65 deletions
Large diffs are not rendered by default.

lib/dl_api_client/dl_api_client/dsmaker/api/dataset_api.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -109,9 +109,9 @@ def save_dataset(
109109
dataset: Dataset,
110110
preview: bool = True,
111111
fail_ok: bool = False,
112-
dir_path: str = None,
113-
workbook_id: str = None,
114-
created_via: str = None,
112+
dir_path: str = None, # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "dir_path" (default has type "None", argument has type "str") [assignment]
113+
workbook_id: str = None, # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "workbook_id" (default has type "None", argument has type "str") [assignment]
114+
created_via: str = None, # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "created_via" (default has type "None", argument has type "str") [assignment]
115115
lock_timeout: int = 3,
116116
) -> HttpDatasetApiResponse:
117117
dataset.prepare()
@@ -191,7 +191,7 @@ def copy_dataset(
191191
data = {"new_key": new_key}
192192

193193
response = self._request(f"/api/v1/datasets/{dataset.id}/copy", method="post", data=data)
194-
assert response.status_code == 200, f"Dataset copy fail: {response.data}"
194+
assert response.status_code == 200, f"Dataset copy fail: {response.data}" # type: ignore # 2024-01-24 # TODO: If x = b'abc' then f"***x***" or "***".format(x) produces "b'abc'", not "abc". If this is desired behavior, use f"***x!r***" or "***!r***".format(x). Otherwise, decode the bytes [str-bytes-safe]
195195
dataset = self.serial_adapter.load_dataset_from_response_body(dataset=dataset, body=response.json)
196196
return HttpDatasetApiResponse(
197197
json=response.json,
@@ -212,7 +212,7 @@ def load_dataset(self, dataset: Dataset) -> HttpDatasetApiResponse:
212212
def apply_updates( # type: ignore # TODO: fix
213213
self,
214214
dataset: Dataset,
215-
updates: list[Union[UpdateAction, dict]] = None,
215+
updates: list[Union[UpdateAction, dict]] = None, # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "updates" (default has type "None", argument has type "list[UpdateAction | dict[Any, Any]]") [assignment]
216216
fail_ok: bool = False,
217217
) -> HttpDatasetApiResponse:
218218
if dataset.created_:
@@ -221,7 +221,7 @@ def apply_updates( # type: ignore # TODO: fix
221221
url = "/api/v1/datasets/validators/dataset"
222222

223223
data = self.dump_dataset_to_request_body(dataset)
224-
updates = list(updates or ()) + self.serial_adapter.generate_implicit_updates(dataset)
224+
updates = list(updates or ()) + self.serial_adapter.generate_implicit_updates(dataset) # type: ignore # 2024-01-24 # TODO: Unsupported operand types for + ("list[UpdateAction | dict[Any, Any]]" and "list[UpdateAction]") [operator]
225225
data["updates"] = self.serial_adapter.dump_updates(updates)
226226
response = self._request(url, method="post", data=data)
227227

@@ -232,7 +232,7 @@ def apply_updates( # type: ignore # TODO: fix
232232
try:
233233
assert response.status_code == HTTPStatus.OK, response.json
234234
except AssertionError:
235-
print("\n".join(HttpApiResponse.extract_response_errors(response)))
235+
print("\n".join(HttpApiResponse.extract_response_errors(response))) # type: ignore # 2024-01-24 # TODO: Argument 1 to "extract_response_errors" of "HttpApiResponse" has incompatible type "ClientResponse"; expected "dict[str, Any]" [arg-type]
236236
raise
237237

238238
if "dataset" in response.json:

lib/dl_api_client/dl_api_client/dsmaker/api/http_async_base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ async def _request(
4545
method: str,
4646
data: Optional[dict] = None,
4747
headers: Optional[dict] = None,
48-
lock_timeout: int = None,
48+
lock_timeout: int = None, # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "lock_timeout" (default has type "None", argument has type "int") [assignment]
4949
) -> ClientResponse:
5050
data_str: Optional[str] = None
5151
content_type: Optional[str] = None
@@ -72,7 +72,7 @@ async def send_request() -> ClientResponse:
7272

7373
while response.status_code == HTTPStatus.LOCKED and lock_timeout and time.monotonic() - started < lock_timeout:
7474
await asyncio.sleep(0.3)
75-
response = send_request()
75+
response = send_request() # type: ignore # 2024-01-24 # TODO: Incompatible types in assignment (expression has type "Coroutine[Any, Any, ClientResponse]", variable has type "ClientResponse") [assignment]
7676

7777
return response
7878

lib/dl_api_client/dl_api_client/dsmaker/api/http_sync_base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ def _request(
9797
method: str,
9898
data: Optional[dict] = None,
9999
headers: Optional[dict] = None,
100-
lock_timeout: int = None,
100+
lock_timeout: int = None, # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "lock_timeout" (default has type "None", argument has type "int") [assignment]
101101
) -> ClientResponse:
102102
data_str: Optional[str] = None
103103
content_type: Optional[str] = None

lib/dl_api_client/dl_api_client/dsmaker/api/schemas/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class Meta:
2121

2222

2323
class DefaultSchema(BaseSchema, Generic[_TARGET_OBJECT_TV]):
24-
TARGET_CLS: ClassVar[Type[_TARGET_OBJECT_TV]]
24+
TARGET_CLS: ClassVar[Type[_TARGET_OBJECT_TV]] # type: ignore # 2024-01-24 # TODO: ClassVar cannot contain type variables [misc]
2525

2626
@classmethod
2727
def get_target_cls(cls) -> Type[_TARGET_OBJECT_TV]:

lib/dl_api_client/dl_api_client/dsmaker/api/schemas/data.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ class AfterBlockPlacementSchema(BlockPlacementSchema):
359359
dimension_values = ma_fields.Nested(DimensionValueSpecSchema, many=True, allow_none=True)
360360

361361

362-
class BlockPlacementSchema(OneOfSchema):
362+
class BlockPlacementSchema(OneOfSchema): # type: ignore # 2024-01-24 # TODO: Name "BlockPlacementSchema" already defined on line 350 [no-redef]
363363
class Meta:
364364
unknown = EXCLUDE
365365

lib/dl_api_client/dl_api_client/dsmaker/api/schemas/dataset.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ class ValueSchema(OneOfSchemaWithDumpLoadHooks):
172172
UserDataType.array_str.name: ArrayStrValueSchema,
173173
UserDataType.array_int.name: ArrayIntValueSchema,
174174
UserDataType.array_float.name: ArrayFloatValueSchema,
175-
UserDataType.tree_str.name: TreeStrParameterValue,
175+
UserDataType.tree_str.name: TreeStrParameterValue, # type: ignore # 2024-01-24 # TODO: Dict entry 15 has incompatible type "str": "type[TreeStrParameterValue]"; expected "str": "type[Schema]" [dict-item]
176176
}
177177

178178
@pre_load(pass_many=False)

lib/dl_api_client/dl_api_client/dsmaker/api/serialization_base.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class ObligatoryFilterUpdateSchema(DefaultSchema[ObligatoryFilter]):
4747
class BaseApiV1SerializationAdapter:
4848
# TODO: switch to marshmallow
4949

50-
def dump_item(self, item: ApiProxyObject, action: Action = None) -> dict:
50+
def dump_item(self, item: ApiProxyObject, action: Action = None) -> dict: # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "action" (default has type "None", argument has type "Action") [assignment]
5151
"""
5252
Dump item data for API request. Return dict
5353
@@ -69,7 +69,7 @@ def dump_data_source(self, item: DataSource, action: Action) -> dict:
6969
return dict(
7070
id=item.id,
7171
connection_id=item.connection_id,
72-
source_type=item.source_type.name,
72+
source_type=item.source_type.name, # type: ignore # 2024-01-24 # TODO: Item "None" of "DataSourceType | None" has no attribute "name" [union-attr]
7373
title=item.title,
7474
raw_schema=[
7575
dict(
@@ -170,7 +170,7 @@ def dump_field(self, item: ResultField, action: Action) -> dict:
170170
return dict(guid=item.id)
171171

172172
@_dump_item.register(ObligatoryFilter)
173-
def dump_obligatory_filter(self, item: ObligatoryFilter, action: Action = None) -> dict:
173+
def dump_obligatory_filter(self, item: ObligatoryFilter, action: Action = None) -> dict: # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "action" (default has type "None", argument has type "Action") [assignment]
174174
if action == Action.delete:
175175
return dict(id=item.id)
176176
if action == Action.add:
@@ -223,7 +223,7 @@ def _get_action_postfix(item: ApiProxyObject) -> str:
223223
ObligatoryFilter: "obligatory_filter",
224224
}[type(item)]
225225

226-
def dump_updates(self, updates: List[Union[UpdateAction, dict]] = None) -> List[dict]:
226+
def dump_updates(self, updates: List[Union[UpdateAction, dict]] = None) -> List[dict]: # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "updates" (default has type "None", argument has type "list[UpdateAction | dict[Any, Any]]") [assignment]
227227
result = []
228228
for update in updates or ():
229229
if isinstance(update, UpdateAction):

lib/dl_api_client/dl_api_client/dsmaker/data_abstraction/result.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ def split_row_by_measures(self, raw_row: ResultRawDataRow) -> Generator[tuple[Da
8989
dim_tuple = DataCellTuple(
9090
tuple(sorted(chain(dimension_cells + (mname_cell,)), key=lambda cell: cell.title))
9191
)
92-
yield dim_tuple, DataItem(cell=measure_cell, meta=DataItemMeta(tags=frozenset(tags)))
92+
yield dim_tuple, DataItem(cell=measure_cell, meta=DataItemMeta(tags=frozenset(tags))) # type: ignore # 2024-01-24 # TODO: Incompatible types in "yield" (actual type "tuple[DataCellTuple, DataItem]", expected type "tuple[DataCellTuple, DataCell]") [misc]
9393

9494

9595
@attr.s
@@ -134,7 +134,7 @@ def get_1d_mapper(
134134
) -> DataCellMapper1D:
135135
return SimpleDataCellMapper1D(
136136
cells={
137-
dim_tuple: cell
137+
dim_tuple: cell # type: ignore # 2024-01-24 # TODO: Value expression in dictionary comprehension has incompatible type "DataCell"; expected type "DataItem" [misc]
138138
for dim_tuple, cell in self._iter_split_rows_by_measure(
139139
dimension_liids=dimension_liids,
140140
measure_liids=measure_liids,

lib/dl_api_client/dl_api_client/dsmaker/pivot_utils.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ def make_pivot_item(
168168
role=role,
169169
legend_item_ids=legend_item_ids,
170170
title=remapped_title,
171-
direction=order_fields.get(title, OrderDirection.asc),
171+
direction=order_fields.get(title, OrderDirection.asc), # type: ignore # 2024-01-24 # TODO: Argument "direction" to "make_req_pivot_item" of "Dataset" has incompatible type "OrderDirection | None"; expected "OrderDirection" [arg-type]
172172
)
173173
if role == PivotRole.pivot_measure:
174174
return dataset.make_req_pivot_item(
@@ -187,7 +187,7 @@ def order_by_item(title: str, direction: OrderDirection) -> OrderedField:
187187

188188
pivot_resp = data_api.get_pivot(
189189
dataset=dataset,
190-
fields=legend,
190+
fields=legend, # type: ignore # 2024-01-24 # TODO: Argument "fields" to "get_pivot" of "SyncHttpDataApiV2" has incompatible type "list[RequestLegendItem]"; expected "list[ResultField | RequestLegendItem] | None" [arg-type]
191191
pivot_structure=[
192192
*[make_pivot_item(title=title, role=PivotRole.pivot_column) for title in columns],
193193
*[make_pivot_item(title=title, role=PivotRole.pivot_row) for title in rows],
@@ -199,7 +199,7 @@ def order_by_item(title: str, direction: OrderDirection) -> OrderedField:
199199
],
200200
*[make_pivot_item(title=title, role=PivotRole.pivot_annotation) for title in annotations or ()],
201201
],
202-
order_by=[order_by_item(title=title, direction=direction) for title, direction in (order_fields or {}).items()],
202+
order_by=[order_by_item(title=title, direction=direction) for title, direction in (order_fields or {}).items()], # type: ignore # 2024-01-24 # TODO: Argument "direction" to "order_by_item" has incompatible type "OrderDirection | None"; expected "OrderDirection" [arg-type]
203203
filters=filters,
204204
pivot_pagination=pivot_pagination,
205205
pivot_totals=simple_totals,
@@ -321,7 +321,7 @@ def norm_title(title: str) -> str:
321321
totals=check_totals,
322322
)
323323
legend_for_result = [item for item in legend if item.ref.type != QueryItemRefType.measure_name]
324-
result_resp = data_api.get_result(dataset=dataset, fields=legend_for_result, filters=filters, fail_ok=True)
324+
result_resp = data_api.get_result(dataset=dataset, fields=legend_for_result, filters=filters, fail_ok=True) # type: ignore # 2024-01-24 # TODO: Argument "fields" to "get_result" of "SyncHttpDataApiV2" has incompatible type "list[RequestLegendItem]"; expected "list[ResultField | RequestLegendItem] | None" [arg-type]
325325
assert result_resp.status_code == HTTPStatus.OK, result_resp.json
326326

327327
result_mapper_measure_liids = frozenset(
@@ -335,7 +335,7 @@ def norm_title(title: str) -> str:
335335
pivot_data_abstraction = PivotDataAbstraction.from_response(pivot_resp)
336336
pivot_data_mapper: DataCellMapper1D = pivot_data_abstraction.get_1d_mapper()
337337

338-
def _is_total(dimension: Optional[list], totals_liids: set[int]):
338+
def _is_total(dimension: Optional[list], totals_liids: set[int]): # type: ignore # 2024-01-24 # TODO: Function is missing a return type annotation [no-untyped-def]
339339
return dimension is not None and any(value[0][1] in totals_liids for value in dimension)
340340

341341
totals_liids = {

0 commit comments

Comments
 (0)