import sqlite3
from sql_query import SQLQuery
DB_NAME = 'wh_db.sqlite'
def open_db_con():
db = sqlite3.connect(DB_NAME)
c = db.cursor()
return db, c
def commit_and_close_db_con(db_connection, cursor):
db_connection.commit()
cursor.close()
db_connection.close()
def create_tables():
db, c = open_db_con()
# create tables if not exist
c.execute(SQLQuery.create_gen_data_table)
c.execute(SQLQuery.create_badge_data_table)
commit_and_close_db_con(db, c)
def write_gen_badge_data(gen_data, badge_data):
db, c = open_db_con()
# get record
record_exists = c.execute(
SQLQuery.get_record,
(gen_data[0], gen_data[1])
).fetchone()
if record_exists:
print("A record for given export date already exists.")
return None
# insert gen data
month_id = c.execute(SQLQuery.insert_gen_data, gen_data).lastrowid
# insert badge data
for line in badge_data:
line.append(month_id)
c.execute(SQLQuery.insert_badge_data, line)
commit_and_close_db_con(db, c)
def get_mockup_data():
# day_id, badge_id, name, date, first_entry, first_exit, second_entry, second_exit
badge_data = [
[
1, '00112', 'Erkki', '02-06-2018', '08:00', '11:00', '12:00', '16:00'
],
[
1, '00113', 'Sampo', '02-06-2018', '08:02', '10:50', '11:50', '16:05'
]
]
# export_date, export_time, from_date, to_date
gen_data = (
'02-06-2018',
'08:00',
'01-05-2018',
'31-05-2018'
)
return gen_data, badge_data
def main():
create_tables()
gen_data, badge_data = get_mockup_data()
write_gen_badge_data(gen_data, badge_data)
if __name__ == '__main__':
main()