Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import kivy
- import smtplib
- from kivy.app import App
- from kivy.uix.label import Label
- from kivy.uix.textinput import TextInput
- from kivy.uix.button import Button
- from kivy.uix.gridlayout import GridLayout
- from kivy.uix.screenmanager import ScreenManager, Screen
- from kivy.properties import ObjectProperty
- from kivy.core.window import Window
- import os
- kivy.require('1.11.1')
- class log_in(GridLayout, Screen):
- def __init__(self, **kwargs):
- super(log_in, self).__init__(**kwargs)
- if os.path.isfile("ignore2.txt"):
- with open("ignore2.txt","r") as f:
- d = f.read().split(",")
- prev_e_mail1 = d[0]
- prev_pass_word1 = d[1]
- else:
- prev_e_mail1 = ""
- prev_pass_word1 = ""
- self.rows = 5
- self.add_widget(Label(text="Email:", font_size=30))
- self.e_mail1 = TextInput(text=prev_e_mail1, multiline=False, font_size=30)
- self.add_widget(self.e_mail1)
- self.add_widget(Label(text="Password:", font_size=30))
- self.pass_word1 = TextInput(text=prev_pass_word1, multiline=False, font_size=30)
- self.add_widget(self.pass_word1)
- self.login_button = Button(text="Login", font_size=30, on_press=self.login_switch)
- self.add_widget(self.login_button)
- def login_switch(self, instance):
- with open("ignore2.txt","w") as f:
- f.write(f"{self.prev_e_mail1}, {self.prev_pass_word1}")
- plannerapp.sm.current = "planner_page"
- class PlannerPage(GridLayout, Screen):
- def __init__(self, **kwargs):
- super(PlannerPage, self).__init__(**kwargs)
- self.cols = 2
- if os.path.isfile("ignore.txt"):
- with open("ignore.txt","r") as f:
- d = f.read().split(",")
- prev_LA = d[0]
- prev_Geometry = d[1]
- prev_Physics = d[2]
- prev_History = d[3]
- else:
- prev_LA = ""
- prev_Geometry = ""
- prev_Physics = ""
- prev_History = ""
- #Language Arts
- self.add_widget(Label(text="LA:", font_size=30))
- self.LA = TextInput(text=prev_LA, multiline=True, font_size=20)
- self.add_widget(self.LA)
- #Geometry
- self.add_widget(Label(text="Geometry:", font_size=30))
- self.Geometry = TextInput(text=prev_Geometry, multiline=True, font_size=20)
- self.add_widget(self.Geometry)
- #Physics
- self.add_widget(Label(text="Physics:", font_size=30))
- self.Physics = TextInput(text=prev_Physics, multiline=True, font_size=20)
- self.add_widget(self.Physics)
- #History
- self.add_widget(Label(text="History:", font_size=30))
- self.History = TextInput(text=prev_History, multiline=True, font_size=20)
- self.add_widget(self.History)
- #Record button
- self.save = Button(text="Save", font_size=30)
- self.save.bind(on_press=self.save_button)
- self.add_widget(self.save)
- self.record = Button(text="Record", font_size=30)
- self.record.bind(on_press=self.record_button)
- self.add_widget(self.record)
- def record_button(self, instance):
- with smtplib.SMTP('smtp.gmail.com', 587) as smtp:
- smtp.ehlo()
- smtp.starttls()
- smtp.ehlo()
- with open("ignore2.txt","r") as f:
- d = f.read().split(",")
- smtp.login(d[0], d[1])
- subject = 'Homework sent from plannerapp'
- body0 = f"""
- PLANNER APP
- --|--|--|--|--|--|--|--|--|--|--|--|--
- -- Language arts: {self.prev_LA.text}
- ~~~
- -- Geometry: {self.prev_Geometry.text}
- ~~~
- -- Physics: {self.prev_Physics.text}
- ~~~
- -- History: {self.prev_History.text}
- --|--|--|--|--|--|--|--|--|--|--|--|--
- Created by -+-+-+-
- """
- msg = f'Subject: {subject}\n\n{body0}'
- smtp.sendmail(d[0], d[0], msg)
- def save_button(self, instance):
- with open("ignore.txt","w") as f:
- f.write(f"{self.prev_LA},{self.prev_Geometry},{self.prev_Physics},{self.prev_History}")
- class PlannerApp(App):
- def build(self):
- self.sm = ScreenManager()
- self.login_page = log_in()
- screen = Screen(name="login_pg")
- screen.add_widget(self.login_page)
- self.sm.add_widget(screen)
- self.planner_page = PlannerPage()
- screen = Screen(name="planner_page")
- screen.add_widget(self.planner_page)
- self.sm.add_widget(screen)
- return self.sm
- if __name__ == '__main__':
- plannerapp = PlannerApp()
- plannerapp.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement