import os import requests import json from io import BytesIO from flask import Flask, jsonify, render_template, request, send_file from flask import Flask, redirect, url_for, session, request, jsonify, render_template from google.oauth2 import id_token from google.auth.transport import requests as grequests import os from modules.inference import infer_t5 from modules.dataset import query_emotion # https://huggingface.co/settings/tokens # https://huggingface.co/spaces/{username}/{space}/settings API_TOKEN = os.getenv("BIG_GAN_TOKEN") CLIENT_ID = "730959404664-67d22lrege5tmtt64dv2pe2tsostvqil.apps.googleusercontent.com" CLIENT_SECRET = os.environ.get("GOOGLE_CLIENT_SECRET") app = Flask(__name__) app.secret_key = os.urandom(24) @app.route("/") def index(): return render_template("index.html") @app.route("/login") def login(): return redirect("https://accounts.google.com/o/oauth2/auth?response_type=code&client_id={}&redirect_uri=http://localhost:7860/callback&scope=email%20profile&access_type=offline".format(CLIENT_ID)) @app.route("/callback") def callback(): code = request.args.get("code") token_response = grequests.post("https://oauth2.googleapis.com/token", data={ "code": code, "client_id": CLIENT_ID, "client_secret": CLIENT_SECRET, "redirect_uri": "http://localhost:7860/callback", "grant_type": "authorization_code" }) token_data = token_response.json() access_token = token_data.get("access_token") id_info = id_token.verify_oauth2_token(token_data.get("id_token"), grequests.Request(), CLIENT_ID) # Store user information in session session['user'] = id_info return redirect(url_for("profile")) if __name__ == "__main__": app.run(host="0.0.0.0", port=7860, debug=True) # @app.route("/profile") # def profile(): # user = session.get('user') # if user: # return render_template("profile.html", user=user) # else: # return "User not authenticated" # @app.route("/logout") # def logout(): # session.pop('user', None) # return redirect(url_for("index")) # if __name__ == "__main__": # app.run(debug=True)