Added first bit of timing code

This commit is contained in:
AndrewButer 2011-03-18 15:52:01 -04:00
parent 6b484c1308
commit 9a9b38f98d
2 changed files with 47 additions and 4 deletions

View File

@ -96,7 +96,7 @@ VALUES (?, ?, ?)
''', (nextid, projectid, taskname)) ''', (nextid, projectid, taskname))
c.close() c.close()
self.conn.commit() self.conn.commit()
return True return nextid
def getNextId(self, table): def getNextId(self, table):
c = self.conn.cursor() c = self.conn.cursor()
@ -147,3 +147,30 @@ GROUP BY projects.id
c.close() c.close()
self.conn.commit() self.conn.commit()
return hours return hours
def setTaskHours(self, taskid, date, secs):
c = self.conn.cursor()
c.execute('''
UPDATE hours
SET seconds = ?
WHERE taskid = ?
AND date = ?
''', (secs, taskid, str(date)))
c.close()
self.conn.commit()
return secs
def addTaskHours(self, taskid, date, secs):
c = self.conn.cursor()
c.execute('''
SELECT seconds
FROM hours
WHERE taskid = ?
AND date = ?
''', (taskid, date))
for row in c:
print "%d %d" % (secs, row[0])
secs += row[0]
c.close()
self.conn.commit()
return self.setTaskHours(taskid, date, secs)

View File

@ -7,8 +7,8 @@ class Window:
def __init__(self, progName, ds): def __init__(self, progName, ds):
self.ds = ds self.ds = ds
self.shown_projects = [] self.shown_projects = []
now = datetime.now() self.taskStart = datetime.now()
self.monday = now.date() - timedelta(now.weekday()) self.monday = self.taskStart.date() - timedelta(self.taskStart.weekday())
# Top-level Window creation # Top-level Window creation
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
@ -30,6 +30,7 @@ class Window:
# Projects Table # Projects Table
self.projects_present = False self.projects_present = False
self.currProject = 0 self.currProject = 0
self.currTask = 0
self.projects_container = gtk.VBox() self.projects_container = gtk.VBox()
self.updateProjects() self.updateProjects()
@ -266,6 +267,7 @@ class Window:
pnum = 0 pnum = 0
if pnum: if pnum:
self.shown_projects.append(pnum) self.shown_projects.append(pnum)
self.project_select_event(pname)
self.updateProjects() self.updateProjects()
def project_key_press_event(self, widget, event, data=None): def project_key_press_event(self, widget, event, data=None):
@ -299,7 +301,12 @@ class Window:
tnum = self.getTaskNum(tname) tnum = self.getTaskNum(tname)
elif len(tname.strip()): elif len(tname.strip()):
tnum = self.ds.createTask(self.currProject, tname) tnum = self.ds.createTask(self.currProject, tname)
self.updateProjects() else:
tnum = 0
if tnum:
self.tasks = self.ds.getTasks(self.currProject)
self.task_select_event(tname)
self.updateProjects()
def task_key_press_event(self, widget, event, data=None): def task_key_press_event(self, widget, event, data=None):
if event.keyval == gtk.gdk.keyval_from_name("Return"): if event.keyval == gtk.gdk.keyval_from_name("Return"):
@ -320,10 +327,19 @@ class Window:
def task_select_event(self, taskName): def task_select_event(self, taskName):
tnum = self.getTaskNum(taskName) tnum = self.getTaskNum(taskName)
if tnum: if tnum:
self.updateCurrTaskHours()
self.currTask = tnum
print "Selected task '%s' (%d)" % (taskName, tnum) print "Selected task '%s' (%d)" % (taskName, tnum)
self.updateProjects()
return True return True
return False return False
def updateCurrTaskHours(self):
nst = datetime.now()
delta = nst - self.taskStart
self.ds.addTaskHours(self.currTask, nst.date(), delta.seconds)
self.taskStart = nst
def delete_event(self, widget, event, data=None): def delete_event(self, widget, event, data=None):
return False return False