diff --git a/bookeeper/__main__.py b/bookeeper/__main__.py index 7c10724..a8f3613 100644 --- a/bookeeper/__main__.py +++ b/bookeeper/__main__.py @@ -26,7 +26,7 @@ try: try: # initializing DB dbconn = sqlite3.connect(params.dbpath) dbcur = dbconn.cursor() - db.try_init(dbcur) + db.try_init(dbconn, dbcur) except Exception as e: raise Exception("failure while initializing DB", e) diff --git a/bookeeper/db.py b/bookeeper/db.py index 9968e39..48245b4 100644 --- a/bookeeper/db.py +++ b/bookeeper/db.py @@ -1,6 +1,15 @@ import sqlite3 -def try_init(cur): +def _split(v, num): + if v is None: + return None + terms = v.split("/") + if num >= len(terms): + return None + return terms[num] + +def try_init(conn, cur): + conn.create_function("split", 2, _split) cur.execute(""" CREATE TABLE IF NOT EXISTS entry ( id INTEGER PRIMARY KEY AUTOINCREMENT,