ayushkhare12

emails dynamicallty

Oct 15th, 2019
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.53 KB | None | 0 0
  1. import pandas as pd
  2. from email_new_test import send_mail, username
  3. import os
  4. import re
  5.  
  6. reportname = pd.read_csv('reportname.csv', index_col='Reportname')
  7. #TODO:Note
  8. email_details = pd.read_csv('regionsmktclub_emails.csv', header=None)
  9.  
  10. email_detail_columns = list(email_details.columns)
  11. email_detail_columns[0] = 'filename'
  12. email_detail_columns[1] = 'markets'
  13.  
  14. email_details = pd.read_csv('regionsmktclub_emails.csv', header=None, names=email_detail_columns, index_col='filename')
  15. email_detail_columns = list(email_details)
  16. #TODO:NOTE
  17. groups = set(list(reportname.group))
  18. # print(email_details)
  19. for detail in email_details.index:
  20.     print(detail)
  21.     email_ids = []
  22.     files = []
  23.     if detail.startswith('MKT'):
  24.         #TODO:NOTE
  25.         for column in email_detail_columns[1:]:
  26.             if type(email_details.loc[detail][column]) == str:
  27.                 email_ids.append(email_details.loc[detail][column])
  28.         # TODO:NOTE
  29.  
  30.         #Note
  31.         # email_ids.append(email_details.loc[detail].email)
  32.         # email_ids.append(email_details.loc[detail].email1)
  33.         # print(email_details.loc[detail].email2)
  34.         # email_ids.append(email_details.loc[detail].email2)
  35.         #
  36.         # if type(email_details.loc[detail].email3) == str:
  37.         #     email_ids.append(email_details.loc[detail].email3)
  38.         for group in groups:
  39.             files = []
  40.             grouped_reportname = reportname[reportname.group == group]
  41.             for report in grouped_reportname.index:
  42.                 if grouped_reportname.loc[report].mm == 't':
  43.                     path = os.path.join(report, 'pdf')
  44.                     for r, d, f in os.walk(path):
  45.  
  46.                         if detail in f:
  47.                             files.append(os.path.join(path, detail))
  48.             send_mail(username, '{0} mm reports- Group {1}'.format(detail,group), 'PFA', email_ids, files=files)
  49.     elif re.match(r'^\d\d\d\d', detail):
  50.         #TODO
  51.         for column in email_detail_columns[1:]:
  52.             if type(email_details.loc[detail][column]) == str:
  53.                 email_ids.append(email_details.loc[detail][column])
  54.  
  55.         #TODO
  56.  
  57.         for group in groups:
  58.             files = []
  59.             grouped_reportname = reportname[reportname.group == group]
  60.             for report in grouped_reportname.index:
  61.                 if grouped_reportname.loc[report].cm == 't':
  62.                     path = os.path.join(report, 'pdf')
  63.                     for r, d, f in os.walk(path):
  64.                         if detail in f:
  65.                             files.append(os.path.join(path, detail))
  66.             send_mail(username, '{0} cm reports - Group {1}'.format(detail,group), 'PFA', email_ids, files=files)
  67.     elif re.search(r'region.', detail):
  68.         for column in email_detail_columns[1:]:
  69.             #TODO:NOTE
  70.             if type(email_details.loc[detail][column]) == str:
  71.                 email_ids.append(email_details.loc[detail][column])
  72.             #TODO:NOTE
  73.         markets = email_details.loc[detail].markets.split(';')
  74.  
  75.         for report in reportname.index:
  76.             files = []
  77.             if reportname.loc[report].rgm == 't':
  78.                 path = os.path.join(report, 'pdf')
  79.                 for r, d, f in os.walk(path):
  80.                     for file in f:
  81.  
  82.                         if file == detail or (file in markets):
  83.                             files.append(os.path.join(path, file))
  84.  
  85.             send_mail(username, ' {0} regional reports and associated marketing files'.format(report), 'PFA', email_ids, files=files)
Add Comment
Please, Sign In to add comment