From e4b8116c98590f7e38383227eede537a1fdc44ed Mon Sep 17 00:00:00 2001 From: Frederick Muriuki Muriithi Date: Tue, 8 Aug 2023 05:17:42 +0300 Subject: Fix type-checking errors --- gn_auth/auth/db/sqlite3.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'gn_auth/auth/db/sqlite3.py') diff --git a/gn_auth/auth/db/sqlite3.py b/gn_auth/auth/db/sqlite3.py index be9eb2f..66b74c9 100644 --- a/gn_auth/auth/db/sqlite3.py +++ b/gn_auth/auth/db/sqlite3.py @@ -2,13 +2,27 @@ import sqlite3 import logging import contextlib -from typing import Any, Callable, Iterator +from typing import Any, Protocol, Callable, Iterator import traceback from flask import current_app -from .protocols import DbCursor, DbConnection +from .protocols import DbCursor + +class DbConnection(Protocol): + """Type annotation for a generic database connection object.""" + def cursor(self) -> Any: + """A cursor object""" + ... + + def commit(self) -> Any: + """Commit the transaction.""" + ... + + def rollback(self) -> Any: + """Rollback the transaction.""" + ... @contextlib.contextmanager def connection(db_path: str, row_factory: Callable = sqlite3.Row) -> Iterator[DbConnection]: -- cgit v1.2.3