From 8d9f46a02aed80bd576abe36938b7f270b2ded80 Mon Sep 17 00:00:00 2001 From: Alex Dehnert Date: Mon, 2 Sep 2013 22:09:58 -0400 Subject: [PATCH] mail-merge: usability improvements - open files in "universal newlines" mode - give a better error when the "email" field is missing --- mail-merge | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mail-merge b/mail-merge index dd82cbb..5de621e 100755 --- a/mail-merge +++ b/mail-merge @@ -113,11 +113,14 @@ def msg_filter_factory(opts): return filter_rt def mail_merge(opts, cc_addr, email_file, recipients_file): - email_tmpl = open(email_file, 'r').read() - reader = csv.reader(open(recipients_file, 'r')) + email_tmpl = open(email_file, 'rU').read() + reader = csv.reader(open(recipients_file, 'rU')) header = reader.next() msg_filter = msg_filter_factory(opts) print header + if not 'email' in header: + print >>sys.stderr, "Your CSV file doesn't have an email field. You should fix that.\n(Note that this script is case-sensitive.)" + return False for line in reader: dct = dictize_line(header, line, ) print dct -- 2.34.1