diff --git a/mypy.ini b/mypy.ini --- a/mypy.ini +++ b/mypy.ini @@ -35,9 +35,6 @@ [mypy-pkg_resources.*] ignore_missing_imports = True -[mypy-psycopg2.*] -ignore_missing_imports = True - [mypy-pytest.*] ignore_missing_imports = True diff --git a/requirements-test.txt b/requirements-test.txt --- a/requirements-test.txt +++ b/requirements-test.txt @@ -5,6 +5,7 @@ requests-mock types-click types-flask +types-psycopg2 types-pytz types-pyyaml types-requests diff --git a/swh/core/db/db_utils.py b/swh/core/db/db_utils.py --- a/swh/core/db/db_utils.py +++ b/swh/core/db/db_utils.py @@ -625,15 +625,22 @@ def execute_sqlfiles( - sqlfiles: Collection[pathlib.Path], conninfo: str, flavor: Optional[str] = None + sqlfiles: Collection[pathlib.Path], + db_or_conninfo: Union[str, pgconnection], + flavor: Optional[str] = None, ): - """Execute a list of SQL files on the database pointed at with ``conninfo``. + """Execute a list of SQL files on the database pointed at with ``db_or_conninfo``. Args: sqlfiles: List of SQL files to execute - conninfo: connection info string for the SQL database + db_or_conninfo: A database connection, or a database connection info string flavor: the database flavor to initialize """ + if isinstance(db_or_conninfo, str): + conninfo = db_or_conninfo + else: + conninfo = db_or_conninfo.dsn + psql_command = [ "psql", "--quiet",