import logging import json from flask import Flask, render_template, g, request, url_for, flash, redirect from werkzeug.exceptions import abort import calendar_interface import db import auth app = Flask(__name__) app.config['SECRET_KEY'] = '\xacI4\x077\x16?Q\xb4")\xdb\x066\x95\x11i\x0b\x0c&\xb6rP\'' app.config['SECURITY_PASSWORD_SALT'] = '>\xe3\x9bz\xfd\xbc[\xe22\xcfK\xca\x88!\xd8\xd5,\xd0\x95\x0c\x02\xad\xfa\x9d' app.teardown_appcontext(db.close_db) app.cli.add_command(db.init_db_command) app.register_blueprint(auth.bp) @app.route('/') @auth.login_required def index(): events = calendar_interface.get_future_calendar_events().get("value") calendar_interface.convert_datetimes(events) if events is None: abort(404) else: return render_template('index.html', events=events, user=g.user) # @app.route('/') # def post(post_id): # post = get_post(post_id) # return render_template('show_event.html', post=post) @app.route('//attend') @auth.login_required def attend(id): event = calendar_interface.get_calendar_event(id) user = g.user["username"] email = g.user["email"] # only update attendees, now the whole event data = {} data["attendees"] = event["attendees"] logging.info("attempting to attend event with user: %s %s", email, user) calendar_interface.add_attendee(data, user, email) logging.info("Sending data for attendee update:\n%s", json.dumps(data, indent=2)) calendar_interface.update_calendar_event(id, data) return redirect(url_for('index')) @app.route('//unattend') @auth.login_required def unattend(id): event = calendar_interface.get_calendar_event(id) user = g.user["username"] email = g.user["email"] # only update attendees, now the whole event data = {} data["attendees"] = event["attendees"] logging.info("attempting to unattend event with user: %s %s", email, user) calendar_interface.delte_attendee(data, email) logging.info("Sending data for attendee update:\n%s", json.dumps(data, indent=2)) calendar_interface.update_calendar_event(id, data) return redirect(url_for('index'))