Compare commits
2 commits
0b8c041ee5
...
85698c377b
| Author | SHA1 | Date | |
|---|---|---|---|
|
85698c377b |
|||
|
65cd55ec0a |
1 changed files with 13 additions and 0 deletions
|
|
@ -15,9 +15,21 @@ def has_valid_times(result: pd.DataFrame) -> bool:
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def are_keys_unique(db: Path, table: str, col: str) -> bool:
|
||||||
|
conn = sqlite3.connect(db)
|
||||||
|
c = conn.cursor()
|
||||||
|
c.execute(f"SELECT COUNT( DISTINCT CAST(path AS nvarchar(4000))), COUNT({col}) FROM {table};")
|
||||||
|
results = c.fetchall()[0]
|
||||||
|
conn.close()
|
||||||
|
return bool(results[0] == results[1])
|
||||||
|
|
||||||
|
|
||||||
def check_db_integrity(path: Path) -> None:
|
def check_db_integrity(path: Path) -> None:
|
||||||
db = get_db_file(path)
|
db = get_db_file(path)
|
||||||
|
|
||||||
|
if not are_keys_unique(db, 'backlogs', 'path'):
|
||||||
|
raise Exception("The paths the backlog table of the database links are not unique.")
|
||||||
|
|
||||||
search_expr = "SELECT * FROM 'backlogs'"
|
search_expr = "SELECT * FROM 'backlogs'"
|
||||||
conn = sqlite3.connect(db)
|
conn = sqlite3.connect(db)
|
||||||
results = pd.read_sql(search_expr, conn)
|
results = pd.read_sql(search_expr, conn)
|
||||||
|
|
@ -27,6 +39,7 @@ def check_db_integrity(path: Path) -> None:
|
||||||
raise ValueError(f"Result with id {result[id]} has wrong time signatures.")
|
raise ValueError(f"Result with id {result[id]} has wrong time signatures.")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def full_integrity_check(path: Path) -> None:
|
def full_integrity_check(path: Path) -> None:
|
||||||
check_db_integrity(path)
|
check_db_integrity(path)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue