From: Alex Dehnert Date: Tue, 3 Sep 2013 02:09:58 +0000 (-0400) Subject: mail-merge: usability improvements X-Git-Url: https://www.dehnerts.com/gitweb/?p=user%2Falex%2Fsoftware%2Fmy-snippets.git;a=commitdiff_plain;h=8d9f46a02aed80bd576abe36938b7f270b2ded80 mail-merge: usability improvements - open files in "universal newlines" mode - give a better error when the "email" field is missing --- 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