aagoluoglu's picture
Update app.py
1e7a0a5 verified
raw
history blame
3.18 kB
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 = "your_google_client_id"
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:3000/callback&scope=email%20profile&access_type=offline".format(CLIENT_ID))
# @app.route("/infer_biggan")
# def biggan():
# input = request.args.get("input")
# output = requests.request(
# "POST",
# "https://api-inference.huggingface.co/models/osanseviero/BigGAN-deep-128",
# headers={"Authorization": f"Bearer {API_TOKEN}"},
# data=json.dumps(input),
# )
# return send_file(BytesIO(output.content), mimetype="image/png")
# @app.route("/infer_t5")
# def t5():
# input = request.args.get("input")
# output = infer_t5(input)
# return jsonify({"output": output})
# @app.route("/query_emotion")
# def emotion():
# start = request.args.get("start")
# end = request.args.get("end")
# print(start)
# print(end)
# output = query_emotion(int(start), int(end))
# return jsonify({"output": output})
if __name__ == "__main__":
app.run(host="0.0.0.0", port=7860)
# @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:3000/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"))
# @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)