-
Notifications
You must be signed in to change notification settings - Fork 1
/
welcomescreen.py
52 lines (45 loc) · 1.87 KB
/
welcomescreen.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
from kivy.uix.screenmanager import Screen
from kivy.properties import BooleanProperty, StringProperty
from kivy.event import EventDispatcher
from kivy.network.urlrequest import UrlRequest
from kivy.app import App
from kivy.lang import Builder
from kivy.factory import Factory
import sys
sys.path.append("/".join(x for x in __file__.split("/")[:-1]))
from json import dumps
import os.path
# Load the kv files
folder = os.path.dirname(os.path.realpath(__file__))
Builder.load_file(folder + "/homescreen.kv")
Builder.load_file(folder + "/logout.kv")
Builder.load_file(folder + "/spinnerscreen.kv")
from homescreen import HomeScreen
from spinnerscreen import SpinnerScreen
from logout import Logout
class WelcomeScreen(Screen, EventDispatcher):
refresh_token = ""
logout_success = BooleanProperty(False) # Called upon successful sign out
refresh_token_file = App.get_running_app().user_data_dir + "/refresh_token.txt"
google_token_file = "token.pickle"
def on_logout_success(self, *args):
"""Overwrite this method to switch to your app's home screen.
"""
print("Logged out successfully", "<Screen name='firebase_login_screen'>, True")
def create_refresh_token(self, refresh_token):
"""Saves the refresh token in a local file to enable automatic sign in
next time the app is opened.
"""
if os.path.exists(refresh_token):
print("The file exists")
else:
f = open(refresh_token, "x")
def log_out(self):
"""Overwrite this method to switch to your app's home screen.
"""
if os.path.exists(self.refresh_token_file):
os.remove(self.refresh_token_file)
self.create_refresh_token(self.refresh_token_file)
if os.path.exists(self.google_token_file):
os.remove(self.google_token_file)
self.logout_success = True