Advertisement
Guest User

Untitled

a guest
Sep 11th, 2014
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.36 KB | None | 0 0
  1. #!/usr/bin/python
  2. import datetime
  3. import ConfigParser
  4. import csv
  5. import os
  6. from mako.template import Template
  7.  
  8. # variables
  9. config = ConfigParser.ConfigParser()
  10. rconfig = ConfigParser.RawConfigParser()
  11. template = Template(filename='worklog.html')
  12.  
  13. # load total time from .ini
  14. config.read("worklog.ini")
  15. rconfig.read("worklog.ini")
  16. total_time = config.get("time", "total")
  17.  
  18. # count start
  19. start = datetime.datetime.now()
  20. startt = str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
  21. print "Counting worktime started at %s" % startt
  22.  
  23. # count stop
  24. confirm = raw_input("Press enter when work finished ")
  25. finish = datetime.datetime.now()
  26.  
  27. # calculate delta
  28. delta = finish - start
  29. work_time=str(datetime.timedelta(seconds=delta.seconds))
  30. print "Workflow of %s finished" % work_time
  31.  
  32. # create variables
  33. finisht=str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
  34. print "Counting worktime stopped at %s" % finisht
  35.  
  36. # calculate and write new total time
  37. new_total_time = int(total_time) + delta.seconds
  38. cfgfile= open("worklog.ini",'w')
  39. rconfig.set("time", "total", new_total_time)
  40. rconfig.write(cfgfile)
  41. total_time_human = str(datetime.timedelta(seconds=new_total_time))
  42. print "Your work total time is %s" % total_time_human
  43.  
  44. # get info about work
  45. note = raw_input("What were you doing? ")
  46.  
  47. # create and write to csv
  48. with open('worklog.csv', 'a') as csvlog:
  49.     worklogwriter = csv.writer(csvlog, delimiter=',',
  50.                             quotechar='|', quoting=csv.QUOTE_MINIMAL)
  51.     worklogwriter.writerow([startt, finisht, work_time, note])
  52.  
  53. # convert csv to dictionary
  54. input_file = csv.DictReader(open("worklog.csv"))
  55.  
  56. # prepare lists
  57. work_start_var = []
  58. work_stop_var = []
  59. work_time_var = []
  60. work_note_var = []
  61.  
  62. # prepare variables for mako
  63. for row in input_file:
  64.     work_start_var.append(row["date_start"])
  65.     work_stop_var.append(row["date_stop"])
  66.     work_time_var.append(row["work_time"])
  67.     work_note_var.append(row["note"])
  68.  
  69. # create html with mako
  70. with open('index.html','w+') as webdesign:
  71.     webdesign.write(template.render(total_time_html = total_time_human,date_start_html = '<br>'.join(map(str, work_start_var)),date_stop_html = '<br>'.join(map(str, work_stop_var)),work_time_html = '<br>'.join(map(str, work_time_var)),work_note_html = '<br>'.join(map(str, work_note_var))))
  72.  
  73. # copy file to ftp
  74. os.system("cp index.html /home/jin/swl/")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement