Bug Wranglers

#!/usr/bin/python

import os
import time
import subprocess
from datetime import date
import smtplib
import mimetypes
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.MIMEAudio import MIMEAudio
from email.MIMEImage import MIMEImage
from email.Encoders import encode_base64

def get_bugzs():
	p = subprocess.Popen(
			'searchbugz > bugz.txt', shell=True, stdout=subprocess.PIPE)
	return p.stdout.readlines()

def sendMail(subject, text, *attachmentFilePaths):
	gmailUser = 'user@gmail.com'
	gmailPassword = 'somepw'
	recipient = 'you@yourmail.com'
 
	msg = MIMEMultipart()
	msg['From'] = gmailUser
	msg['To'] = recipient
	msg['Subject'] = subject
	msg.attach(MIMEText(text))
 
	for attachmentFilePath in attachmentFilePaths:
		msg.attach(getAttachment(attachmentFilePath))
 
	mailServer = smtplib.SMTP('smtp.gmail.com', 587)
	mailServer.ehlo()
	mailServer.starttls()
	mailServer.ehlo()
	mailServer.login(gmailUser, gmailPassword)
	mailServer.sendmail(gmailUser, recipient, msg.as_string())
	mailServer.close()
 
	print('Sent email to %s' % recipient)
 
def getAttachment(attachmentFilePath):
	contentType, encoding = mimetypes.guess_type(attachmentFilePath)
 
	if contentType is None or encoding is not None:
		contentType = 'application/octet-stream'
 
	mainType, subType = contentType.split('/', 1)
	file = open(attachmentFilePath, 'rb')
 
	if mainType == 'text':
		attachment = MIMEText(file.read())
	elif mainType == 'message':
		attachment = email.message_from_file(file)
	elif mainType == 'image':
		attachment = MIMEImage(file.read(),_subType=subType)
	elif mainType == 'audio':
		attachment = MIMEAudio(file.read(),_subType=subType)
	else:
		attachment = MIMEBase(mainType, subType)
		attachment.set_payload(file.read())
		encode_base64(attachment)
 
	file.close()
 
	attachment.add_header('Content-Disposition', 'attachment', 
			filename=os.path.basename(attachmentFilePath))
	return attachment
 
if __name__ == "__main__":
	get_bugzs()
	bugz_info = open('bugz.txt', 'rb')
	bugz_data = bugz_info.read()
	bugz_info.close()
	fname = ('bugz-'+ str(date.today())+ '.txt')
	fobj = open(fname, 'w')
	fobj.write(bugz_data)
	fobj.close
	print 'Bugzs date has been written to', fname
	time.sleep(10)
	sendMail("Bug Wranglers", "Current Bugs", fname)
	print fname, "Has been mailed."