adds template structure
This commit is contained in:
45
app.py
45
app.py
@ -42,7 +42,9 @@ GOOGLE_DISCOVERY_URL = (
|
||||
"https://accounts.google.com/.well-known/openid-configuration"
|
||||
)
|
||||
# Flask app setup
|
||||
app = Flask(__name__)
|
||||
app = Flask(__name__,
|
||||
static_folder='static',
|
||||
template_folder='template')
|
||||
app.secret_key = os.environ.get("SECRET_KEY") or os.urandom(24)
|
||||
|
||||
# User session management setup
|
||||
@ -66,27 +68,43 @@ def load_user(user_id):
|
||||
return User.get(user_id)
|
||||
|
||||
@app.route("/")
|
||||
def account():
|
||||
return flask.redirect('account')
|
||||
|
||||
@app.route("/account")
|
||||
def index():
|
||||
if current_user.is_authenticated:
|
||||
return (
|
||||
"<p>Hello, {}! You're logged in! Email: {}</p>"
|
||||
"<div><p>Google Profile Picture:</p>"
|
||||
'<img src="{}" alt="Google profile pic"></img></div>'
|
||||
'<a class="button" href="/logout">Logout</a>'
|
||||
'<a class="button" href="/test">test API</a>'.format(
|
||||
current_user.name, current_user.email, current_user.profile_pic
|
||||
return (flask.render_template('account.html',
|
||||
username = current_user.name, email = current_user.email, profile_img=current_user.profile_pic
|
||||
)
|
||||
)
|
||||
else:
|
||||
return '<a class="button" href="/login">Google Login</a>'
|
||||
return flask.render_template('login.html')
|
||||
|
||||
def get_google_provider_cfg():
|
||||
return requests.get(GOOGLE_DISCOVERY_URL).json()
|
||||
|
||||
class Calendar:
|
||||
def __init__(self, name, color):
|
||||
self.name = name
|
||||
self.color = color
|
||||
|
||||
@app.route("/calendar")
|
||||
def calendar():
|
||||
ca1 = Calendar("Hightower", "#30ff30")
|
||||
ca2 = Calendar("Toast", "#66e230")
|
||||
calendars = [ca1, ca2]
|
||||
return flask.render_template('calendar.html', calendars=calendars)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@app.route('/test')
|
||||
def test_api_request():
|
||||
if 'credentials' not in flask.session:
|
||||
return flask.redirect('login')
|
||||
return flask.redirect('login/google')
|
||||
|
||||
# Load credentials from the session.
|
||||
credentials = google.oauth2.credentials.Credentials(
|
||||
@ -102,7 +120,7 @@ def test_api_request():
|
||||
|
||||
return flask.jsonify(todaysCal)
|
||||
|
||||
@app.route("/login")
|
||||
@app.route("/login/google")
|
||||
def login():
|
||||
|
||||
'''
|
||||
@ -140,12 +158,9 @@ def login():
|
||||
# Store the state so the callback can verify the auth server response.
|
||||
flask.session['state'] = state
|
||||
|
||||
print("auth_url: " + authorization_url)
|
||||
print("state: " + state)
|
||||
|
||||
return flask.redirect(authorization_url)
|
||||
|
||||
@app.route("/login/callback")
|
||||
@app.route("/login/google/callback")
|
||||
def callback():
|
||||
# Specify the state when creating the flow in the callback so that it can
|
||||
# verified in the authorization server response.
|
||||
|
Reference in New Issue
Block a user