Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from Tkinter import *
- import tkMessageBox
- import smtplib
- import time
- import Tkinter
- class Scattergories(Tkinter.Frame):
- def __init__(self, master=None):
- Tkinter.Frame.__init__(self, master)
- self.create_entryboxes()
- root.title("Scattergories")
- root.geometry("250x600")
- self.mode = "stopped"
- self.start_time = 0
- self.elapsed_time = 0
- self.create_buttons()
- self.update_timeText()
- def create_buttons(self):
- self.timeText = Tkinter.Label(root, text="02:05", font=("Arial", 20))
- self.timeText.pack()
- self.start_pause_unpause_Button = Tkinter.Button(root, text='Start', command=self.start_pause_unpause)
- self.start_pause_unpause_Button.pack()
- reset_button = Tkinter.Button(root, text='Reset', command=self.reset)
- reset_button.pack()
- def set_time(self, minutes, seconds):
- pattern = '{0:02d}:{1:02d}'
- timeString = pattern.format(minutes, seconds)
- if timeString == '00:00':
- self.submit()
- self.time_elapsed = 0
- self.showsubmissions()
- self.timeText.configure(text=timeString)
- def update_timeText(self):
- if self.mode == "running":
- self.time_elapsed = time.time() - self.start_time + self.elapsed_time
- blabla = 125 - self.time_elapsed
- seconds = int(blabla % 60)
- minutes = int((blabla/60) % 60)
- self.set_time(minutes, seconds)
- elif self.mode == "running":
- self.elapsed_time = self.elapsed_time + time.time() - self.start_time
- self.mode = "stopped"
- self.start_pause_unpause_Button.config(text="Resume")
- self.after(1000, self.update_timeText)
- def reset(self):
- self.mode = "stopped"
- self.elapsed_time = 0
- self.set_time(2,10)
- self.timeText.configure(text="02:05")
- self.start_pause_unpause_Button.config(text="Start")
- self.clear()
- self.disable_entry()
- def start_pause_unpause(self):
- if self.mode == "stopped":
- self.start_time = time.time()
- self.mode = "running"
- self.start_pause_unpause_Button.config(text='',relief=FLAT)
- self.enable_entry()
- def clear(self):
- self.answer1.set('')
- self.answer2.set('')
- self.answer3.set('')
- self.answer4.set('')
- self.answer5.set('')
- self.answer6.set('')
- self.answer7.set('')
- self.answer8.set('')
- self.answer9.set('')
- self.answer10.set('')
- self.answer11.set('')
- self.answer12.set('')
- def create_entryboxes(self):
- #Entry box, variable is a string variable
- self.answer1 = StringVar()
- self.answer2 = StringVar()
- self.answer3 = StringVar()
- self.answer4 = StringVar()
- self.answer5 = StringVar()
- self.answer6 = StringVar()
- self.answer7 = StringVar()
- self.answer8 = StringVar()
- self.answer9 = StringVar()
- self.answer10 = StringVar()
- self.answer11 = StringVar()
- self.answer12 = StringVar()
- label1 = Tkinter.Label(root, text="1:")
- label1.pack()
- self.text1 = Tkinter.Entry(root, textvariable=self.answer1)
- self.text1.pack(padx=5)
- self.text1.configure(state='disabled')
- label2 = Tkinter.Label(root, text="2:")
- label2.pack()
- self.text2 = Tkinter.Entry(root, textvariable=self.answer2)
- self.text2.pack(padx=5)
- self.text2.configure(state='disabled')
- label3 = Tkinter.Label(root, text="3:")
- label3.pack()
- self.text3 = Tkinter.Entry(root, textvariable=self.answer3)
- self.text3.pack(padx=5)
- self.text3.configure(state='disabled')
- label4 = Tkinter.Label(root, text="4:")
- label4.pack()
- self.text4 = Tkinter.Entry(root, textvariable=self.answer4)
- self.text4.pack(padx=5)
- self.text4.configure(state='disabled')
- label5 = Tkinter.Label(root, text="5:")
- label5.pack()
- self.text5 = Tkinter.Entry(root, textvariable=self.answer5)
- self.text5.pack(padx=5)
- self.text5.configure(state='disabled')
- label6 = Tkinter.Label(root, text="6:")
- label6.pack()
- self.text6 = Tkinter.Entry(root, textvariable=self.answer6)
- self.text6.pack(padx=5)
- self.text6.configure(state='disabled')
- label7 = Tkinter.Label(root, text="7:")
- label7.pack()
- self.text7 = Tkinter.Entry(root, textvariable=self.answer7)
- self.text7.pack(padx=5)
- self.text7.configure(state='disabled')
- label8 = Tkinter.Label(root, text="8:")
- label8.pack()
- self.text8 = Tkinter.Entry(root, textvariable=self.answer8)
- self.text8.pack(padx=5)
- self.text8.configure(state='disabled')
- label9 = Tkinter.Label(root, text="9:")
- label9.pack()
- self.text9 = Tkinter.Entry(root, textvariable=self.answer9)
- self.text9.pack(padx=5)
- self.text9.configure(state='disabled')
- label10 = Tkinter.Label(root, text="10:")
- label10.pack()
- self.text10 = Tkinter.Entry(root, textvariable=self.answer10)
- self.text10.pack(padx=5)
- self.text10.configure(state='disabled')
- label11 = Tkinter.Label(root, text="11:")
- label11.pack()
- self.text11 = Tkinter.Entry(root, textvariable=self.answer11)
- self.text11.pack(padx=5)
- self.text11.configure(state='disabled')
- label12 = Tkinter.Label(root, text="12:")
- label12.pack()
- self.text12 = Tkinter.Entry(root, textvariable=self.answer12)
- self.text12.pack(padx=5)
- self.text12.configure(state='disabled')
- def enable_entry(self):
- self.text1.configure(state='normal')
- self.text2.configure(state='normal')
- self.text3.configure(state='normal')
- self.text4.configure(state='normal')
- self.text5.configure(state='normal')
- self.text6.configure(state='normal')
- self.text7.configure(state='normal')
- self.text8.configure(state='normal')
- self.text9.configure(state='normal')
- self.text10.configure(state='normal')
- self.text11.configure(state='normal')
- self.text12.configure(state='normal')
- def disable_entry(self):
- self.text1.configure(state='disabled')
- self.text2.configure(state='disabled')
- self.text3.configure(state='disabled')
- self.text4.configure(state='disabled')
- self.text5.configure(state='disabled')
- self.text6.configure(state='disabled')
- self.text7.configure(state='disabled')
- self.text8.configure(state='disabled')
- self.text9.configure(state='disabled')
- self.text10.configure(state='disabled')
- self.text11.configure(state='disabled')
- self.text12.configure(state='disabled')
- def submit(self):
- fname = 'scattegoriesanswers.txt'
- with open(fname, 'w') as fout:
- fout.write("1:")
- fout.write(self.answer1.get())
- fout.write("\n2:")
- fout.write(self.answer2.get())
- fout.write("\n3:")
- fout.write(self.answer3.get())
- fout.write("\n4:")
- fout.write(self.answer4.get())
- fout.write("\n5:")
- fout.write(self.answer5.get())
- fout.write("\n6:")
- fout.write(self.answer6.get())
- fout.write("\n7:")
- fout.write(self.answer7.get())
- fout.write("\n8:")
- fout.write(self.answer8.get())
- fout.write("\n9:")
- fout.write(self.answer9.get())
- fout.write("\n10:")
- fout.write(self.answer10.get())
- fout.write("\n11:")
- fout.write(self.answer11.get())
- fout.write("\n12:")
- fout.write(self.answer12.get())
- self.send_email()
- def send_email(self):
- with open ("scattegoriesanswers.txt", "r") as myfile:
- data=myfile.read()
- gmail_user = "youremail"
- gmail_pwd = "pass"
- FROM = 'youremail'
- TO = ['williammeehan.11@gmail.com', 'dtmaguire@gmail.com'] #must be a list
- SUBJECT = "Scattergories"
- TEXT = data
- # Prepare actual message
- message = """\From: %s\nTo: %s\nSubject: %s\n\n%s
- """ % (FROM, ", ".join(TO), SUBJECT, TEXT)
- try:
- #server = smtplib.SMTP(SERVER)
- server = smtplib.SMTP("smtp.gmail.com", 587) #or port 465 doesn't seem to work!
- server.ehlo()
- server.starttls()
- server.login(gmail_user, gmail_pwd)
- server.sendmail(FROM, TO, message)
- #server.quit()
- server.close()
- print 'successfully sent the mail'
- except:
- print "failed to send mail"
- root = Tkinter.Tk()
- app = Scattergories(master=root)
- app.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement