Advertisement
Guest User

Untitled

a guest
Jul 1st, 2015
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.84 KB | None | 0 0
  1. from imaplib import IMAP4_SSL
  2. from datetime import date, timedelta, datetime
  3. from time import mktime
  4. from email.utils import parsedate
  5. import email
  6. import pygal
  7.  
  8.  
  9. address = '<Your Email>'
  10. password = '<password>'
  11. inbox = 'INBOX'
  12. outbox = '[Gmail]/Sent Mail'
  13. d = 6
  14.  
  15. def inbox_week(address,password,inbox,d):
  16.  
  17. Monday_Tuple = ('M','o','n')
  18. Monday_List = []
  19.  
  20. Tuesday_Tuple = ('T','u','e')
  21. Tuesday_List = []
  22.  
  23. Wednesday_Tuple = ('W','e','d')
  24. Wednesday_List = []
  25.  
  26. Thursday_Tuple = ('T','h','u')
  27. Thursday_List = []
  28.  
  29. Friday_Tuple = ('F','r','i')
  30. Friday_List = []
  31.  
  32. Saturday_Tuple = ('S','a','t')
  33. Saturday_List = []
  34.  
  35. Sunday_Tuple = ('S','u','n')
  36. Sunday_List = []
  37.  
  38. mail = IMAP4_SSL('imap.gmail.com')
  39. mail.login(address, password)
  40. mail.select(inbox)
  41. interval = (date.today()-timedelta(d)).strftime("%d-%b-%Y")
  42.  
  43.  
  44. result, data = mail.uid('search',None,'(SENTSINCE{date})'.format(date=interval))
  45. for num in data[0].split():
  46.  
  47. result, data = mail.uid('fetch',num,'(RFC822)')
  48. msg = email.message_from_string(data[0][1])
  49. msg['Date']
  50. main_date = msg['Date']
  51. Date_Tuple = main_date[0],main_date[1],main_date[2]
  52.  
  53. if (Date_Tuple==Monday_Tuple):
  54. Monday_List.append(Monday_Tuple)
  55.  
  56. if (Date_Tuple == Tuesday_Tuple):
  57. Tuesday_List.append(Tuesday_Tuple)
  58.  
  59. if (Date_Tuple == Wednesday_Tuple):
  60. Wednesday_List.append(Wednesday_Tuple)
  61.  
  62.  
  63.  
  64. if (Date_Tuple == Thursday_Tuple):
  65. Thursday_List.append(Thursday_Tuple)
  66.  
  67. if (Date_Tuple == Friday_Tuple):
  68. Friday_List.append(Friday_Tuple)
  69.  
  70. if (Date_Tuple == Saturday_Tuple):
  71. Saturday_List.append(Saturday_Tuple)
  72.  
  73. if (Date_Tuple == Sunday_Tuple):
  74. Sunday_List.append(Sunday_Tuple)
  75.  
  76.  
  77. monday_inbox = len(Monday_List)
  78.  
  79. tuesday_inbox = len(Tuesday_List)
  80.  
  81. wednesday_inbox = len(Wednesday_List)
  82.  
  83. thursday_inbox = len(Thursday_List)
  84.  
  85. friday_inbox = len(Friday_List)
  86.  
  87. saturday_inbox = len(Saturday_List)
  88.  
  89. sunday_inbox = len(Sunday_List)
  90.  
  91. return monday_inbox,tuesday_inbox,wednesday_inbox,thursday_inbox,friday_inbox,saturday_inbox,sunday_inbox
  92.  
  93. a,b,c,d,e,f,g = inbox_week(address,password,inbox,d)
  94.  
  95. def outbox_week(address,password,outbox,d):
  96. Monday_Tuple = ('M','o','n')
  97. Monday_List = []
  98.  
  99. Tuesday_Tuple = ('T','u','e')
  100. Tuesday_List = []
  101.  
  102. Wednesday_Tuple = ('W','e','d')
  103. Wednesday_List = []
  104.  
  105. Thursday_Tuple = ('T','h','u')
  106. Thursday_List = []
  107.  
  108. Friday_Tuple = ('F','r','i')
  109. Friday_List = []
  110.  
  111. Saturday_Tuple = ('S','a','t')
  112. Saturday_List = []
  113.  
  114. Sunday_Tuple = ('S','u','n')
  115. Sunday_List = []
  116.  
  117. mail = IMAP4_SSL('imap.gmail.com')
  118. mail.login(address, password)
  119. mail.select(outbox)
  120.  
  121. interval = (date.today()-timedelta(d)).strftime("%d-%b-%Y")
  122. result, data = mail.uid('search', None,'(SENTSINCE {date})'.format(date=interval))
  123.  
  124. for num in data[0].split():
  125.  
  126. result, data = mail.uid('fetch',num,'(RFC822)')
  127. msg = email.message_from_string(data[0][1])
  128.  
  129. main_date = msg['Date']
  130. Date_Tuple = main_date[0],main_date[1],main_date[2]
  131.  
  132. if (Date_Tuple==Monday_Tuple):
  133. Monday_List.append(Monday_Tuple)
  134.  
  135. if (Date_Tuple == Tuesday_Tuple):
  136. Tuesday_List.append(Tuesday_Tuple)
  137.  
  138. if (Date_Tuple == Wednesday_Tuple):
  139. Wednesday_List.append(Wednesday_Tuple)
  140.  
  141.  
  142.  
  143. if (Date_Tuple == Thursday_Tuple):
  144. Thursday_List.append(Thursday_Tuple)
  145.  
  146. if (Date_Tuple == Friday_Tuple):
  147. Friday_List.append(Friday_Tuple)
  148.  
  149. if (Date_Tuple == Saturday_Tuple):
  150. Saturday_List.append(Saturday_Tuple)
  151.  
  152. if (Date_Tuple == Sunday_Tuple):
  153. Sunday_List.append(Sunday_Tuple)
  154.  
  155.  
  156. monday_outbox = len(Monday_List)
  157.  
  158. tuesday_outbox = len(Tuesday_List)
  159.  
  160. wednesday_outbox = len(Wednesday_List)
  161.  
  162. thursday_outbox = len(Thursday_List)
  163.  
  164. friday_outbox = len(Friday_List)
  165.  
  166. saturday_outbox = len(Saturday_List)
  167.  
  168. sunday_outbox = len(Sunday_List)
  169.  
  170. return monday_outbox,tuesday_outbox,wednesday_outbox,thursday_outbox,friday_outbox,saturday_outbox,sunday_outbox
  171.  
  172. aa,bb,cc,dd,ee,ff,gg = outbox_week(address,password,outbox,d)
  173.  
  174. bar_chart = pygal.Bar()
  175. bar_chart.title = 'Weekly Email Analysis'
  176. bar_chart.x_labels = ('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday')
  177. bar_chart.add('Received', [a,b,c,d,e,f,g])
  178. bar_chart.add('Sent',[aa,bb,cc,dd,ee,ff,gg])
  179. bar_chart.render_to_file('honey4.svg')
  180.  
  181. from datetime import date, timedelta, datetime
  182. import email
  183. from email.utils import parsedate
  184. from imaplib import IMAP4_SSL
  185. from time import mktime
  186.  
  187. import pygal
  188.  
  189. ADDRESS = '<Your Email>'
  190. PASSWORD = '<password>'
  191. ...
  192.  
  193. d = 6
  194.  
  195. if __name__ == '__main__':
  196. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement