mail-merge: usability improvements
[user/alex/software/my-snippets.git] / mail-merge
index dd82cbbe9d300ce1e6e411d36ed626287f53dea6..5de621e0098b4dc3bd46862c56d265255b92d7b6 100755 (executable)
@@ -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