Add simple habit migration test
This commit is contained in:
parent
7ea2c1cf57
commit
a9ac2f27c2
4 changed files with 49 additions and 20 deletions
18
loop/habit_migrator.py
Normal file
18
loop/habit_migrator.py
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
def create_habits(db, trackers):
|
||||||
|
print("migrating habits, yo")
|
||||||
|
c = db.cursor()
|
||||||
|
tracker = trackers["cigarette"]
|
||||||
|
print(tracker)
|
||||||
|
# for when the execute works, can be filled in its own function
|
||||||
|
habit = (
|
||||||
|
tracker["label"],
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
tracker["id"],
|
||||||
|
)
|
||||||
|
c.execute(
|
||||||
|
"""INSERT INTO
|
||||||
|
Habits(id, name, position, type, uuid)
|
||||||
|
VALUES (NULL, ?, ?, ?, ?)""",
|
||||||
|
habit,
|
||||||
|
)
|
9
loop/migration.py
Normal file
9
loop/migration.py
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
import loop.table_constructor as table_constructor
|
||||||
|
import loop.habit_migrator as habit_migrator
|
||||||
|
|
||||||
|
|
||||||
|
def migrate(trackers, events):
|
||||||
|
db = table_constructor.prepare_database("output.db")
|
||||||
|
if trackers is not None:
|
||||||
|
habit_migrator.create_habits(db, trackers)
|
||||||
|
db.commit()
|
|
@ -5,6 +5,22 @@ def create_database(name):
|
||||||
return sqlite3.connect(name)
|
return sqlite3.connect(name)
|
||||||
|
|
||||||
|
|
||||||
|
# better way to do the above
|
||||||
|
# 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)
|
||||||
|
# return conn
|
||||||
|
# except Error as e:
|
||||||
|
# print(e)
|
||||||
|
# return conn
|
||||||
|
|
||||||
|
|
||||||
def create_tables(db):
|
def create_tables(db):
|
||||||
c = db.cursor()
|
c = db.cursor()
|
||||||
c.execute(
|
c.execute(
|
||||||
|
@ -39,6 +55,7 @@ def create_tables(db):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def migrate(trackers, events):
|
def prepare_database(name):
|
||||||
db = create_database("output.db")
|
db = create_database(name)
|
||||||
create_tables(db)
|
create_tables(db)
|
||||||
|
return db
|
21
migrate.py
21
migrate.py
|
@ -1,8 +1,9 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
import json
|
import json
|
||||||
|
import sys
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
import toloop as loop
|
import loop.migration as loop
|
||||||
|
|
||||||
|
|
||||||
def load_file(filename):
|
def load_file(filename):
|
||||||
|
@ -41,25 +42,9 @@ def verify_continue(data):
|
||||||
exit(0)
|
exit(0)
|
||||||
|
|
||||||
|
|
||||||
# better way to do this
|
|
||||||
# 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)
|
|
||||||
# return conn
|
|
||||||
# except Error as e:
|
|
||||||
# print(e)
|
|
||||||
# return conn
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
# load nomie json
|
# load nomie json
|
||||||
nomie_data = load_file("input.json")
|
nomie_data = load_file(sys.argv[1])
|
||||||
# DISABLED FOR DEBUGGING
|
# DISABLED FOR DEBUGGING
|
||||||
verify_continue(nomie_data)
|
verify_continue(nomie_data)
|
||||||
trackers = nomie_data["trackers"]
|
trackers = nomie_data["trackers"]
|
||||||
|
|
Loading…
Reference in a new issue