Added DB folder

This commit is contained in:
Afeedh Shaji 2021-03-16 21:47:49 +05:30
parent 10a0f85ebd
commit dede812188
7 changed files with 59 additions and 58 deletions

View File

@ -23,7 +23,7 @@ python3 -m src.keygen
### Initialize database:
```
python3 -m db_init
python3 -m db.init
```
### Run the code

18
db/conn.py Normal file
View File

@ -0,0 +1,18 @@
import sqlite3
from sqlite3 import Error
def create_connection(db_file):
"""
Create a database connection to the SQLite database
specified by db_file
:param db_file: database file
:return: Connection object or None
"""
conn = None
try:
conn = sqlite3.connect(db_file)
except Error as e:
print(e)
return conn

View File

@ -2,6 +2,7 @@ from src.utils import create_table, create_connection
DB_FILE = "./dumps/local.db"
if __name__ == "__main__":
conn = create_connection(DB_FILE)

37
db/queries.py Normal file
View File

@ -0,0 +1,37 @@
from sqlite3 import Error
def create_table(conn):
"""
Create attendance table
:param conn: Connection object
:param create_table_sql: a CREATE TABLE statement
:return:
"""
sql_create_attendance_table = """ CREATE TABLE IF NOT EXISTS attendance (
id integer PRIMARY KEY,
regno text NOT NULL,
status boolean NOT NULL,
dt datetime default current_timestamp
); """
try:
c = conn.cursor()
c.execute(sql_create_attendance_table)
except Error as e:
print(e)
def mark_attendance(conn, attendance):
"""
Mark attendance entry
:param conn:
:param attendance:
:return:
"""
sql = """ INSERT INTO attendance(regno, dt, status)
VALUES(?,?,?) """
cur = conn.cursor()
cur.execute(sql, attendance)
conn.commit()

Binary file not shown.

5
run.py
View File

@ -9,12 +9,11 @@ from src.utils import (
encode_regno,
decode_regno,
sha256,
create_connection,
mark_attendance,
create_table,
)
from constants import ENROLL_URI, VALIDATE_URI
from fingercode.fingercode import FingerCode
from db.queries import mark_attendance
from db.conn import create_connection
# FP_DATA_LEN = 200
# random_fp = "".join(

View File

@ -2,8 +2,6 @@
import hashlib
import math
import sqlite3
from sqlite3 import Error
def encode_regno(regno):
@ -33,55 +31,3 @@ def cal_euler_distance(result1, result2):
for i in range(len(result1)):
distance += math.pow(result1[i] - result2[i], 2)
return distance
def create_connection(db_file):
"""
Create a database connection to the SQLite database
specified by db_file
:param db_file: database file
:return: Connection object or None
"""
conn = None
try:
conn = sqlite3.connect(db_file)
except Error as e:
print(e)
return conn
def create_table(conn):
"""
Create attendance table
:param conn: Connection object
:param create_table_sql: a CREATE TABLE statement
:return:
"""
sql_create_attendance_table = """ CREATE TABLE IF NOT EXISTS attendance (
id integer PRIMARY KEY,
regno text NOT NULL,
status boolean NOT NULL,
dt datetime default current_timestamp
); """
try:
c = conn.cursor()
c.execute(sql_create_attendance_table)
except Error as e:
print(e)
def mark_attendance(conn, attendance):
"""
Mark attendance entry
:param conn:
:param attendance:
:return:
"""
sql = """ INSERT INTO attendance(regno, dt, status)
VALUES(?,?,?) """
cur = conn.cursor()
cur.execute(sql, attendance)
conn.commit()