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
- import os
- kivy.require('1.11.1')
- class login_page(GridLayout):
- def __init__(self, prev_e_mail1, prev_pass_word1, **kwargs):
- super(login_page, self).__init__(**kwargs)
- self.rows = 5
- if os.path.isfile("login_details.txt"):
- with open("login_details.txt","r") as f:
- d = f.read().split(",")
- prev_e_mail1 = d[0]
- prev_pass_word1 = d[0]
- else:
- prev_e_mail1 = ""
- prev_pass_word1 = ""
- self.e_mail1 = TextInput(text=prev_e_mail1, font_size=30)
- self.pass_word1 = TextInput(text=prev_pass_word1, font_size=30)
- self.add_widget(Label(text="Email", font_size=30))
- self.add_widget(self.e_mail1)
- self.add_widget(Label(text="Password", font_size=30))
- self.add_widget(self.pass_word1)
- self.login = Button(text="Login", font_size=30)
- self.login.bind(on_press=self.login_button)
- self.add_widget(self.login)
- def login_button(self, instance):
- with open("login_details.txt","w") as f:
- f.write(f"{outermail},{outerpass}")
- plannerapp.sm.current = "planner_page"
- outermail = login_page().prev_e_mail1
- outerpass = login_page().prev_pass_word1
- class PlannerPage(GridLayout):
- def __init__(self, **kwargs):
- super(PlannerPage, self).__init__(**kwargs)
- self.cols = 2
- if os.path.isfile("plannerdaily.txt"):
- with open("plannerdaily.txt") 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.record = Button(text="Record", font_size=30)
- self.record.bind(on_press=self.record_button)
- self.save = Button(text="Save", font_size=30)
- self.save.bind(on_press=self.save_button)
- self.add_widget(self.save)
- self.add_widget(self.record)
- def record_button(self, instance):
- with smtplib.SMTP('smtp.gmail.com', 587) as smtp:
- la = self.LA.text
- geometry = self.Geometry.text
- physics = self.Physics.text
- history = self.History.text
- smtp.ehlo()
- smtp.starttls()
- smtp.ehlo()
- smtp.login(outermail, outerpass)
- subject = 'Homework sent from plannerapp'
- body = f"""
- PLANNER APP
- --|--|--|--|--|--|--|--|--|--|--|--|--
- -- Language arts: {la}
- ~~~
- -- Geometry: {geometry}
- ~~~
- -- Physics: {physics}
- ~~~
- -- History: {history}
- --|--|--|--|--|--|--|--|--|--|--|--|--
- """
- msg = f'Subject: {subject}\n\n{body}'
- smtp.sendmail(outermail, outermail, msg)
- def save_button(self, instance):
- la = self.LA.text
- geometry = self.Geometry.text
- physics = self.Physics.text
- history = self.History.text
- with open("plannerdaily.txt","w") as f:
- f.write(f"{la},{geometry},{physics},{history}")
- class PlannerApp(App):
- def build(self):
- self.sm = ScreenManager()
- self.login_page = login_page()
- 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().run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement