[utils] / punch Repository:
ViewVC logotype

View of /punch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3 - (download) (annotate)
Sun Apr 29 20:33:40 2007 UTC (2 years, 6 months ago) by synack
File size: 961 byte(s)
Added punch script
#!/usr/bin/env python
from time import strptime, strftime, localtime
import sys

if(len(sys.argv) < 2):
	print 'Usage: %s (in|out|end|status)' % sys.argv[0]
	sys.exit(0)

action = sys.argv[1]
fd = open("/home/jeremy/.timecard", 'a+')

if action == 'in':
	fd.write('IN:' + strftime('%Y%m%dT%H%M%S\n'))
elif action == 'out':
	fd.write('OUT:' + strftime('%Y%m%dT%H%M%S\n'))
elif action == 'end':
	fd.write('===\n')
elif action == 'status':
	lasttime = None
	curtime = None
	minutes = 0
	for line in fd.readlines():
		if line.startswith('IN'):
			curtime = line[3:]
		if line.startswith('OUT'):
			curtime = line[4:]
		if line.startswith('==='):
			minutes = 0
		else:
			if curtime:
				ptime = strptime(curtime, "%Y%m%dT%H%M%S\n")
			if lasttime:
				if line.startswith('OUT'):
					minutes += ((ptime[3] - lasttime[3]) * 60) + (ptime[4] - lasttime[4])
			if curtime:
				lasttime = ptime
	print 'You worked %s hours today' % round(minutes / 60.0, 2)

fd.close()

synack at csh.rit.edu
ViewVC Help
Powered by ViewVC 1.0.0