Correct _insert signature for consistency
This commit is contained in:
parent
40ecdf04ef
commit
75521f61ee
|
@ -19,7 +19,9 @@ class ArchiveConn(DatabaseConnection):
|
||||||
def _exists(self, record):
|
def _exists(self, record):
|
||||||
return f"SELECT archive_id FROM {self._sql_table} WHERE fingerprint=?;", (record.fingerprint,)
|
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:
|
with self.sql_lock:
|
||||||
cursor = self.sql_cursor
|
cursor = self.sql_cursor
|
||||||
statement = f"INSERT INTO {self._sql_table}"\
|
statement = f"INSERT INTO {self._sql_table}"\
|
||||||
|
|
|
@ -66,19 +66,19 @@ class DatabaseConnection(ABC):
|
||||||
def sql_commit(self):
|
def sql_commit(self):
|
||||||
self.__sql_database.commit()
|
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)
|
exists, primary_key = self.exists(record)
|
||||||
if exists:
|
if exists:
|
||||||
self._update(record, primary_key)
|
self._update(record, primary_key)
|
||||||
return primary_key
|
return primary_key
|
||||||
else:
|
else:
|
||||||
return self._insert(record, *args, **kwargs)
|
return self._insert(record, repo_id, archive_id)
|
||||||
|
|
||||||
def _update(self, record, primary_key):
|
def _update(self, record, primary_key):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def _insert(self, record, *args, **kwargs) -> int:
|
def _insert(self, record, repo_id=None, archive_id=None) -> int:
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
def exists(self, record) -> (bool, int):
|
def exists(self, record) -> (bool, int):
|
||||||
|
|
|
@ -5,7 +5,7 @@ class RepoConn(DatabaseConnection):
|
||||||
def __init__(self, db_path, table_name: str = 'repo'):
|
def __init__(self, db_path, table_name: str = 'repo'):
|
||||||
super(RepoConn, self).__init__(db_path, table_name)
|
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:
|
with self.sql_lock:
|
||||||
cursor = self.sql_cursor
|
cursor = self.sql_cursor
|
||||||
statement = f"INSERT INTO {self._sql_table}"\
|
statement = f"INSERT INTO {self._sql_table}"\
|
||||||
|
|
|
@ -21,7 +21,9 @@ class StatsConn(DatabaseConnection):
|
||||||
def _exists(self, record):
|
def _exists(self, record):
|
||||||
return None, None
|
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:
|
with self.sql_lock:
|
||||||
cursor = self.sql_cursor
|
cursor = self.sql_cursor
|
||||||
statement = f"INSERT INTO {self._sql_table}"\
|
statement = f"INSERT INTO {self._sql_table}"\
|
||||||
|
|
Loading…
Reference in New Issue
Block a user