1.1 --- a/db.py Fri Oct 01 17:09:30 2010 +0200
1.2 +++ b/db.py Fri Oct 01 18:59:45 2010 +0200
1.3 @@ -56,12 +56,22 @@
1.4 con = sqlite3.connect(db_file)
1.5 return con, con.cursor()
1.6
1.7 -def test_tables(db_file):
1.8 +def test(db_file):
1.9 con, cur = session(db_file)
1.10 - sql = "select * from sqlite_master where type='table'"
1.11 - cur.execute(sql)
1.12 + cur.execute("select * from projects")
1.13 + print "\nprojects"
1.14 for c in cur:
1.15 print c
1.16 + cur.execute("select * from activities")
1.17 + print "\nactivities"
1.18 + for c in cur:
1.19 + print c
1.20 + cur.execute("select * from tasks")
1.21 + print "\ntasks"
1.22 + for c in cur:
1.23 + print c
1.24 + con.commit()
1.25 + cur.close()
1.26
1.27 def init(db_file):
1.28 con, cur = session(db_file)
1.29 @@ -84,7 +94,7 @@
1.30 cur.execute(sql, values)
1.31 project = cur.fetchone()[0]
1.32 else:
1.33 - project = DEF_PROJECT
1.34 + project = None#DEF_PROJECT
1.35 con.commit()
1.36 cur.close()
1.37 return project
1.38 @@ -102,7 +112,7 @@
1.39 cur.execute(sql, values)
1.40 activity = cur.fetchone()[0]
1.41 else:
1.42 - activity = DEF_ACTIVITY
1.43 + activity = None#DEF_ACTIVITY
1.44 con.commit()
1.45 cur.close()
1.46 return activity
1.47 @@ -130,37 +140,35 @@
1.48 return row_id(db_file, "activities", name)
1.49
1.50 def end(db_file, project, activity, time):
1.51 - if not activity:
1.52 - activity = find_last_activity(db_file, time)
1.53 - if not project:
1.54 - project = find_last_project(db_file, time)
1.55 - con, cur = session(db_file)
1.56 - values = (time, project_id(db_file, project), activity_id(db_file, activity))
1.57 - sql = "update tasks set end=? where project=? and activity=?"
1.58 - cur.execute(sql, values)
1.59 - con.commit()
1.60 - cur.execute("select * from tasks")
1.61 - for c in cur:
1.62 - print c
1.63 - cur.close()
1.64 + print "ending: %s:%s" % (project, activity)
1.65 + if activity or project:
1.66 + if not activity:
1.67 + activity = find_last_activity(db_file, time)
1.68 + elif not project:
1.69 + project = find_last_project(db_file, time)
1.70 + con, cur = session(db_file)
1.71 + values = (time, project_id(db_file, project), activity_id(db_file, activity))
1.72 + sql = "update tasks set end=? where project=? and activity=?"
1.73 + cur.execute(sql, values)
1.74 + con.commit()
1.75 + cur.close()
1.76 + test(db_file)
1.77
1.78 def begin(db_file, project, activity, time):
1.79 + print "beginning: %s:%s" % (project, activity)
1.80 last_project = find_last_project(db_file, time)
1.81 - last_activity = find_last_activity(db_file, time)
1.82 - if not activity:
1.83 - activity = DEF_ACTIVITY
1.84 + last_activity = find_last_activity(db_file, time)
1.85 if not project:
1.86 project = last_project
1.87 + elif not activity:
1.88 + activity = DEF_ACTIVITY
1.89 if activity != last_activity or project != last_project:
1.90 - end(db_file, project, last_activity, time)
1.91 - con, cur = session(db_file)
1.92 - values = (time, None, project_id(db_file, project),
1.93 - activity_id(db_file, activity), None)
1.94 - sql = "insert into tasks values(?, ?, ?, ?, ?)"
1.95 - cur.execute(sql, values)
1.96 - con.commit()
1.97 - cur.execute("select * from tasks")
1.98 - for c in cur:
1.99 - print c
1.100 - con.commit()
1.101 - cur.close()
1.102 + end(db_file, last_project, last_activity, time)
1.103 + con, cur = session(db_file)
1.104 + values = (time, None, project_id(db_file, project),
1.105 + activity_id(db_file, activity), None)
1.106 + sql = "insert into tasks values(?, ?, ?, ?, ?)"
1.107 + cur.execute(sql, values)
1.108 + con.commit()
1.109 + cur.close()
1.110 + test(db_file)