Fix typing issue

This commit is contained in:
Stéphane Bidoul 2022-05-30 14:30:51 +02:00
parent 644ed3ccad
commit cf43492c9f

View file

@ -1,7 +1,7 @@
import logging import logging
import sqlite3 import sqlite3
from enum import Enum from enum import Enum
from typing import Iterator, Protocol, cast from typing import Any, Iterator, Protocol, cast
from weakref import WeakSet from weakref import WeakSet
from .github import CommitInfo from .github import CommitInfo
@ -40,18 +40,12 @@ class BuildsDb:
self._listeners.add(listener) self._listeners.add(listener)
@classmethod @classmethod
def _build_from_row(cls, row: sqlite3.Row) -> Build: def _build_from_row(cls, row: "sqlite3.Row[Any]") -> Build:
commit_info_fields = {"repo", "target_branch", "pr", "git_commit"} commit_info_fields = {"repo", "target_branch", "pr", "git_commit"}
commit_info = CommitInfo(**{k: row[k] for k in commit_info_fields}) commit_info = CommitInfo(**{k: row[k] for k in commit_info_fields})
# TODO: remove type ignore below with mypy > 0.943 which should include
# https://github.com/python/typeshed/commit/b0611bc03105f9f7455846ddc
return Build( return Build(
commit_info=commit_info, commit_info=commit_info,
**{ **{k: row[k] for k in row.keys() if k not in commit_info_fields},
k: row[k]
for k in row.keys() # type: ignore[no-untyped-call]
if k not in commit_info_fields
},
) )
def reset(self) -> None: def reset(self) -> None: