aboutsummaryrefslogtreecommitdiff
path: root/gn3
diff options
context:
space:
mode:
Diffstat (limited to 'gn3')
-rw-r--r--gn3/auth/db.py10
-rw-r--r--gn3/db_utils.py1
2 files changed, 2 insertions, 9 deletions
diff --git a/gn3/auth/db.py b/gn3/auth/db.py
index 2ba6619..5cd230f 100644
--- a/gn3/auth/db.py
+++ b/gn3/auth/db.py
@@ -10,40 +10,34 @@ 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."""
- ...
+
class DbCursor(Protocol):
"""Type annotation for a generic database cursor object."""
def execute(self, *args, **kwargs) -> Any:
"""Execute a single query"""
- ...
def executemany(self, *args, **kwargs) -> Any:
"""
Execute parameterized SQL statement sql against all parameter sequences
or mappings found in the sequence parameters.
"""
- ...
def fetchone(self, *args, **kwargs):
"""Fetch single result if present, or `None`."""
- ...
def fetchmany(self, *args, **kwargs):
"""Fetch many results if present or `None`."""
- ...
def fetchall(self, *args, **kwargs):
"""Fetch all results if present or `None`."""
- ...
+
@contextlib.contextmanager
def connection(db_path: str, row_factory: Callable = sqlite3.Row) -> Iterator[DbConnection]:
diff --git a/gn3/db_utils.py b/gn3/db_utils.py
index 5fd250d..e4dc81f 100644
--- a/gn3/db_utils.py
+++ b/gn3/db_utils.py
@@ -21,7 +21,6 @@ class Connection(Protocol):
"""Type Annotation for MySQLdb's connection object"""
def cursor(self, *args, **kwargs) -> Any:
"""A cursor in which queries may be performed"""
- ...
@contextlib.contextmanager