Make it actually work
This commit is contained in:
		
							parent
							
								
									14e1a9a3fc
								
							
						
					
					
						commit
						b3ba3fb0a9
					
				
					 1 changed files with 13 additions and 9 deletions
				
			
		
							
								
								
									
										22
									
								
								bin/mail-instructions.py
									
										
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										22
									
								
								bin/mail-instructions.py
									
										
									
									
									
										
										
										Normal file → Executable file
									
								
							|  | @ -31,23 +31,26 @@ | ||||||
| 
 | 
 | ||||||
| import smtplib | import smtplib | ||||||
| import sys | import sys | ||||||
|  | import string | ||||||
|  | import re | ||||||
| from email.mime.text import MIMEText | from email.mime.text import MIMEText | ||||||
| 
 | 
 | ||||||
| re_template_fixes = [ | re_template_fixes = [ | ||||||
|     (re.compile(r'^(\s*Dear )<member>'), '\1 $member'), |     (re.compile(r'^(\s*Dear )<member>', re.MULTILINE), '\\1$member'), | ||||||
|     (re.compile(r'^(\s*E-mail:)'), '\1 $email'), |     (re.compile(r'^(\s*E-mail:)', re.MULTILINE), '\\1 $email'), | ||||||
|     (re.compile(r'^(\s*Vote token:)'), '\1 $token') |     (re.compile(r'^(\s*Vote token:)', re.MULTILINE), '\\1 $token') | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| sub email_it(recipients_file, instructions_file): | def email_it(recipients_file, instructions_file): | ||||||
|     instructions = file(instructions_file, "r").read().splitlines() |     instructions = file(instructions_file, "r").read().splitlines() | ||||||
| 
 | 
 | ||||||
|     from_header = instructions.pop(0) |     from_header = instructions.pop(0) | ||||||
|     subject_header = instructions.pop(0) |     subject_header = instructions.pop(0) | ||||||
| 
 | 
 | ||||||
|     template = string.Template("\n".join(instructions)) |     instructions = "\n".join(instructions) | ||||||
|     for re_fix in re_template_fixes: |     for re_fix in re_template_fixes: | ||||||
|         template = re_fix[0].sub(re_fix[1], template) |        instructions  = re_fix[0].sub(re_fix[1], instructions) | ||||||
|  |     template = string.Template(instructions) | ||||||
| 
 | 
 | ||||||
|     f = file(recipients_file, "r") |     f = file(recipients_file, "r") | ||||||
| 
 | 
 | ||||||
|  | @ -57,11 +60,11 @@ sub email_it(recipients_file, instructions_file): | ||||||
| 
 | 
 | ||||||
|     for line in f: |     for line in f: | ||||||
|         l = line.strip() |         l = line.strip() | ||||||
|         if l.beginswith("#") or l = "": |         if l.startswith("#") or l == "": | ||||||
|             continue |             continue | ||||||
| 
 | 
 | ||||||
|         l = l.split(";", 2) |         l = l.split(";", 2) | ||||||
|         if len(l) <> 2: |         if len(l) <> 3: | ||||||
|             print "ERROR in recipients file, invalid line:" |             print "ERROR in recipients file, invalid line:" | ||||||
|             print line, |             print line, | ||||||
|             continue |             continue | ||||||
|  | @ -75,6 +78,7 @@ sub email_it(recipients_file, instructions_file): | ||||||
| 
 | 
 | ||||||
|         if s is None: |         if s is None: | ||||||
|             s = smtplib.SMTP() |             s = smtplib.SMTP() | ||||||
|  |             s.connect('localhost') | ||||||
| 
 | 
 | ||||||
|         try: |         try: | ||||||
|             s.sendmail(from_header, ['olav@bkor.dhs.org'], msg.as_string()) |             s.sendmail(from_header, ['olav@bkor.dhs.org'], msg.as_string()) | ||||||
|  | @ -93,7 +97,7 @@ sub email_it(recipients_file, instructions_file): | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| if __name__ == '__main__': | if __name__ == '__main__': | ||||||
|     if len(sys.argv) != 2: |     if len(sys.argv) != 3: | ||||||
|         print "Usage: mail-instructions.py <recipient list> <instructions template>" |         print "Usage: mail-instructions.py <recipient list> <instructions template>" | ||||||
|         sys.exit(1) |         sys.exit(1) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Olav Vitters
						Olav Vitters