diff options
Diffstat (limited to 'gn3')
-rw-r--r-- | gn3/auth/db.py | 10 | ||||
-rw-r--r-- | gn3/db_utils.py | 1 |
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 |