if os.path.isfile(toc_list): with open(toc_list) as f: dirs = f.read().splitlines() else: dirs = sorted([os.path.basename(d) for d in glob.glob('%s/*' % papers_dir) if os.path.isdir(d) and not any(e in d for e in excludes)]) ########NEW FILE######## __FILENAME__ = mail_authors #!/usr/bin/env python import _mailer as mailer args = mailer.parse_args() config = mailer.load_config('email.json') for author in config['authors']: to = mailer.email_addr_from(author) mailer.send_template(config['sender'], to, args.template, config) print "Mail for %d authors." % len(config['authors']) ########NEW FILE######## __FILENAME__ = mail_reviewers #!/usr/bin/env python import _mailer as mailer import os from conf import work_dir
#!/usr/bin/env python import _mailer as mailer import os from conf import work_dir args = mailer.parse_args() config = mailer.load_config('email.json') for reviewer_info in config['reviewers']: for p in reviewer_info['papers']: if not os.path.isdir(os.path.join(work_dir, '../papers/', p)): raise RuntimeError( "Paper %s not found..refusing to generate emails." % p) for reviewer_info in config['reviewers']: reviewer_config = config.copy() reviewer_config.update(reviewer_info) reviewer = reviewer_info['email'] to = mailer.email_addr_from(reviewer_info) mailer.send_template(config['sender'], to + ', ' + config['cced'], 'reviewer-invite.txt', reviewer_config) # Generate a summary of emails sent paper_reviewers = {} for reviewer_info in config['reviewers']: for paper in reviewer_info['papers']: d = paper_reviewers.setdefault(paper, []) d.append(reviewer_info['name'])