[llvm] r335948 - Make email options of find_interesting_reviews more flexible.

Kristof Beyls via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 29 00:16:27 PDT 2018


Author: kbeyls
Date: Fri Jun 29 00:16:27 2018
New Revision: 335948

URL: http://llvm.org/viewvc/llvm-project?rev=335948&view=rev
Log:
Make email options of find_interesting_reviews more flexible.

This enables a few requested improvements on the original review of this
script at https://reviews.llvm.org/D46192.

This introduces 2 new command line options:

* --email-report: This option enables specifying who to email the generated
  report to. This also enables not sending any email and only printing out
  the report on stdout by not specifying this option on the command line.
* --sender: this allows specifying the email address that will be used in
  the "From" email header.

I believe that with these options the script starts having the basic
features needed to run it well on a regular basis for a group of
developers.

Differential Revision: https://reviews.llvm.org/D47930


Modified:
    llvm/trunk/utils/Reviewing/find_interesting_reviews.py

Modified: llvm/trunk/utils/Reviewing/find_interesting_reviews.py
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/Reviewing/find_interesting_reviews.py?rev=335948&r1=335947&r2=335948&view=diff
==============================================================================
--- llvm/trunk/utils/Reviewing/find_interesting_reviews.py (original)
+++ llvm/trunk/utils/Reviewing/find_interesting_reviews.py Fri Jun 29 00:16:27 2018
@@ -554,17 +554,17 @@ def update_git_repos():
         output = get_git_cmd_output(cmd)
 
 
-def send_emails(email_addresses, msg):
+def send_emails(email_addresses, sender, msg):
     s = smtplib.SMTP()
     s.connect()
     for email_address in email_addresses:
         email_msg = email.mime.multipart.MIMEMultipart()
-        email_msg['From'] = ''
+        email_msg['From'] = sender
         email_msg['To'] = email_address
         email_msg['Subject'] = 'LLVM patches you may be able to review.'
-        email_msg.attach(email.mime.text.MIMEText(msg, 'plain'))
+        email_msg.attach(email.mime.text.MIMEText(msg.encode('utf-8'), 'plain'))
         # python 3.x: s.send_message(email_msg)
-        s.sendmail(email_msg['From'], email_msg['To'], msg)
+        s.sendmail(email_msg['From'], email_msg['To'], email_msg.as_string())
     s.quit()
 
 
@@ -585,7 +585,19 @@ def main():
         default=True,
         help='Do not update cached Phabricator objects')
     parser.add_argument(
-        'email_addresses',
+        '--email-report',
+        dest='email_report',
+        nargs='*',
+        default="",
+        help="A email addresses to send the report to.")
+    parser.add_argument(
+        '--sender',
+        dest='sender',
+        default="",
+        help="The email address to use in 'From' on messages emailed out.")
+    parser.add_argument(
+        '--email-addresses',
+        dest='email_addresses',
         nargs='*',
         help="The email addresses (as known by LLVM git) of " +
         "the people to look for reviews for.")
@@ -597,6 +609,9 @@ def main():
         logging.basicConfig(level=logging.DEBUG)
 
     people_to_look_for = [e.decode('utf-8') for e in args.email_addresses]
+    logging.debug("Will look for reviews that following contributors could " +
+                  "review: {}".format(people_to_look_for))
+    logging.debug("Will email a report to: {}".format(args.email_report))
 
     phab = init_phab_connection()
 
@@ -609,7 +624,9 @@ def main():
         phab,
         days=1,
         filter_reviewers=filter_reviewers_to_report_for(people_to_look_for))
-    send_emails(people_to_look_for, msg)
+
+    if args.email_report != []:
+        send_emails(args.email_report, args.sender, msg)
 
 
 if __name__ == "__main__":




More information about the llvm-commits mailing list