Initial commit

This commit is contained in:
Xevion
2022-06-18 12:54:17 -05:00
commit f770eccb26
4 changed files with 113 additions and 0 deletions

42
database.py Normal file
View File

@@ -0,0 +1,42 @@
"""
Manages all behavior related to reading and writing commits to the internal database.
"""
import logging
import sqlite3
from typing import Optional
logger = logging.getLogger(__name__)
class Database:
"""
Operates and handles reading/writing to the local commit database.
"""
def __init__(self) -> None:
logger.debug('Initializing...')
self.__is_closed: bool = True # Becomes false after this statement.
self.conn: Optional[sqlite3.Connection] = None
self.open()
def open(self) -> None:
"""Opens a connection to the database file."""
if self.__is_closed:
logger.debug('Opening new database connection.')
self.conn = sqlite3.connect('commits.db')
self.__is_closed = False
def close(self) -> None:
"""Closes the currently active database connection."""
if self.__is_closed:
logger.warning('Attempted to close while database connection is already closed...')
else:
logger.debug('Closing database connection.')
self.conn.close()
self.conn = None
self.__is_closed = True
def check_exists(self, id: str) -> bool:
"""Returns true if the commit in question exists."""
return False