borg-manager/src/borgmanager/database/connection/errorconn.py

29 lines
1.0 KiB
Python

from .databaseconnection import DatabaseConnection
from datetime import datetime
class ErrorConn(DatabaseConnection):
def __init__(self, db_path, table_name: str = "errors"):
super().__init__(db_path, table_name)
def _create_table(self):
create_statement = f"create table if not exists {self._sql_table}(" \
f"error_id INTEGER PRIMARY KEY," \
f"error TEXT NOT NULL," \
f"time TIMESTAMP NOT NULL);"
self.sql_execute(create_statement)
def _exists(self, record):
return None, None
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}"\
f" ('error', 'time')"\
f" VALUES (?, ?);"
args = (record.error, datetime.now())
cursor.execute(statement, args)
self.sql_commit()
return cursor.lastrowid