refactor: update return types to Union[str, None] for better type checking
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import sqlite3 as sql
|
||||
from src.utils import SignatureType
|
||||
from typing import Union
|
||||
MA_TABLE = """
|
||||
CREATE TABLE IF NOT EXISTS ma (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
@@ -34,7 +35,7 @@ class Database:
|
||||
cursor.execute(MC_TABLE)
|
||||
self.connection.commit()
|
||||
|
||||
def create_new_signature(self, table:str)->str:
|
||||
def create_new_signature(self, table: str) -> Union[str, None]:
|
||||
"""Create a new signature for the given table.
|
||||
The new signature is generated by using 01 / as prefix, then incrementing the number by 1 for each new entry."""
|
||||
cursor = self.connection.cursor()
|
||||
@@ -51,7 +52,7 @@ class Database:
|
||||
count = cursor.fetchone()[0]
|
||||
return count > 0
|
||||
|
||||
def insert(self, old_signature: str) -> str | None:
|
||||
def insert(self, old_signature: str) -> Union[str, None]:
|
||||
table = old_signature.split(" ")[0].lower()
|
||||
if table == "ma":
|
||||
return self.insert_ma(old_signature)
|
||||
@@ -63,7 +64,7 @@ class Database:
|
||||
# print(f"Error: Unknown signature type '{table}'. Please use 'ma', 'mb', or 'mc'.")
|
||||
return self.insert_ma(old_signature)
|
||||
|
||||
def get_signature(self, old_signature: str, table: str) -> str | None:
|
||||
def get_signature(self, old_signature: str, table: str) -> Union[str, None]:
|
||||
"""Get the new signature for the given old signature from the specified table."""
|
||||
cursor = self.connection.cursor()
|
||||
cursor.execute(
|
||||
@@ -79,7 +80,7 @@ class Database:
|
||||
)
|
||||
return None
|
||||
|
||||
def insert_ma(self, old_signature: str) -> str|None:
|
||||
def insert_ma(self, old_signature: str) -> Union[str, None]:
|
||||
"""Insert an old signature into the ma table and return the new signature.
|
||||
New Signatures is generated by using 01 / as prefix, then incrementing the number by 1 for each new entry."""
|
||||
if self.signature_exists(old_signature, "ma"):
|
||||
@@ -96,8 +97,7 @@ class Database:
|
||||
print(f"Error: The combination of old_signature '{old_signature}' and new_signature '{new_signature}' already exists.")
|
||||
return None
|
||||
|
||||
|
||||
def insert_mb(self, old_signature: str) -> str:
|
||||
def insert_mb(self, old_signature: str) -> Union[str, None]:
|
||||
"""Insert an old signature into the mb table and return the new signature.
|
||||
New Signatures is generated by using 02 / as prefix, then incrementing the number by 1 for each new entry."""
|
||||
new_signature = self.create_new_signature("mb")
|
||||
@@ -115,8 +115,8 @@ class Database:
|
||||
except sql.IntegrityError:
|
||||
print(f"Error: The combination of old_signature '{old_signature}' and new_signature '{new_signature}' already exists.")
|
||||
return None
|
||||
|
||||
def insert_mc(self, old_signature: str) -> str:
|
||||
|
||||
def insert_mc(self, old_signature: str) -> Union[str, None]:
|
||||
"""Insert an old signature into the mc table and return the new signature.
|
||||
New Signatures is generated by using 03 / as prefix, then incrementing the number by 1 for each new entry."""
|
||||
new_signature = self.create_new_signature("mc")
|
||||
|
||||
Reference in New Issue
Block a user