From 75521f61ee7aeb7fc02885cb6c0e58a5910268ce Mon Sep 17 00:00:00 2001 From: George Lacey Date: Tue, 4 May 2021 05:48:18 +0100 Subject: [PATCH] Correct _insert signature for consistency --- src/database/archiveconn.py | 4 +++- src/database/databaseconnection.py | 6 +++--- src/database/repoconn.py | 2 +- src/database/statsconn.py | 4 +++- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/database/archiveconn.py b/src/database/archiveconn.py index 2fb34e8..8287c68 100644 --- a/src/database/archiveconn.py +++ b/src/database/archiveconn.py @@ -19,7 +19,9 @@ class ArchiveConn(DatabaseConnection): def _exists(self, record): return f"SELECT archive_id FROM {self._sql_table} WHERE fingerprint=?;", (record.fingerprint,) - def _insert(self, record, repo_id) -> int: + def _insert(self, record, repo_id=None, archive_id=None) -> int: + if repo_id is None: + raise Exception("Repo id not supplied") with self.sql_lock: cursor = self.sql_cursor statement = f"INSERT INTO {self._sql_table}"\ diff --git a/src/database/databaseconnection.py b/src/database/databaseconnection.py index ff62ad3..15e0ede 100644 --- a/src/database/databaseconnection.py +++ b/src/database/databaseconnection.py @@ -66,19 +66,19 @@ class DatabaseConnection(ABC): def sql_commit(self): self.__sql_database.commit() - def insert(self, record, *args, **kwargs): + def insert(self, record, repo_id=None, archive_id=None): exists, primary_key = self.exists(record) if exists: self._update(record, primary_key) return primary_key else: - return self._insert(record, *args, **kwargs) + return self._insert(record, repo_id, archive_id) def _update(self, record, primary_key): pass @abstractmethod - def _insert(self, record, *args, **kwargs) -> int: + def _insert(self, record, repo_id=None, archive_id=None) -> int: raise NotImplementedError def exists(self, record) -> (bool, int): diff --git a/src/database/repoconn.py b/src/database/repoconn.py index 44ca962..4bd01e1 100644 --- a/src/database/repoconn.py +++ b/src/database/repoconn.py @@ -5,7 +5,7 @@ class RepoConn(DatabaseConnection): def __init__(self, db_path, table_name: str = 'repo'): super(RepoConn, self).__init__(db_path, table_name) - def _insert(self, record) -> int: + def _insert(self, record, repo_id=None, archive_id=None) -> int: with self.sql_lock: cursor = self.sql_cursor statement = f"INSERT INTO {self._sql_table}"\ diff --git a/src/database/statsconn.py b/src/database/statsconn.py index d77b128..0110219 100644 --- a/src/database/statsconn.py +++ b/src/database/statsconn.py @@ -21,7 +21,9 @@ class StatsConn(DatabaseConnection): def _exists(self, record): return None, None - def _insert(self, record, repo_id, archive_id) -> int: + def _insert(self, record, repo_id=None, archive_id=None) -> int: + if repo_id is None or archive_id is None: + raise Exception("Repo and archive ids not supplied") with self.sql_lock: cursor = self.sql_cursor statement = f"INSERT INTO {self._sql_table}"\