Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
@@ -834,94 +834,47 @@ def update_images():
|
|
834 |
return image_1, image_2, image_3
|
835 |
|
836 |
|
837 |
-
import os
|
838 |
-
import gradio as gr
|
839 |
-
from flask import Flask, redirect, request, url_for, session
|
840 |
-
from authlib.integrations.flask_client import OAuth
|
841 |
-
|
842 |
-
# Flask app setup
|
843 |
-
app = Flask(__name__)
|
844 |
-
app.secret_key = 'RANDOM_SECRET_KEY'
|
845 |
-
app.config['SESSION_COOKIE_NAME'] = 'google-login-session'
|
846 |
-
|
847 |
-
# OAuth setup
|
848 |
-
oauth = OAuth(app)
|
849 |
-
google = oauth.register(
|
850 |
-
name='google',
|
851 |
-
client_id=os.getenv('GOOGLE_CLIENT_ID'),
|
852 |
-
client_secret=os.getenv('GOOGLE_CLIENT_SECRET'),
|
853 |
-
access_token_url='https://accounts.google.com/o/oauth2/token',
|
854 |
-
access_token_params=None,
|
855 |
-
authorize_url='https://accounts.google.com/o/oauth2/auth',
|
856 |
-
authorize_params=None,
|
857 |
-
api_base_url='https://www.googleapis.com/oauth2/v1/',
|
858 |
-
userinfo_endpoint='https://openidconnect.googleapis.com/v1/userinfo',
|
859 |
-
client_kwargs={'scope': 'openid email profile'},
|
860 |
-
)
|
861 |
-
|
862 |
-
# Define login route
|
863 |
-
@app.route('/login')
|
864 |
-
def login():
|
865 |
-
google = oauth.create_client('google')
|
866 |
-
redirect_uri = url_for('authorize', _external=True)
|
867 |
-
return google.authorize_redirect(redirect_uri)
|
868 |
-
|
869 |
-
# Define authorize route
|
870 |
-
@app.route('/authorize')
|
871 |
-
def authorize():
|
872 |
-
google = oauth.create_client('google')
|
873 |
-
token = google.authorize_access_token()
|
874 |
-
user = google.parse_id_token(token)
|
875 |
-
session['user'] = user
|
876 |
-
return redirect('/')
|
877 |
-
|
878 |
-
# Define logout route
|
879 |
-
@app.route('/logout')
|
880 |
-
def logout():
|
881 |
-
session.pop('user', None)
|
882 |
-
return redirect('/')
|
883 |
-
|
884 |
-
# Define home route
|
885 |
-
@app.route('/')
|
886 |
-
def home():
|
887 |
-
user = dict(session).get('user', None)
|
888 |
-
return f'Hello, {user["name"]}!' if user else 'Hello, you are not logged in!'
|
889 |
|
|
|
890 |
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
|
904 |
-
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
|
913 |
-
|
914 |
-
|
915 |
-
|
916 |
-
|
917 |
-
|
918 |
-
|
919 |
-
|
920 |
-
|
921 |
-
|
922 |
-
|
923 |
-
|
924 |
-
|
925 |
-
|
926 |
-
app.run(port=5000)
|
927 |
|
|
|
|
|
|
|
|
|
|
|
|
834 |
return image_1, image_2, image_3
|
835 |
|
836 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
837 |
|
838 |
+
with gr.Blocks(theme='Pijush2023/scikit-learn-pijush') as demo:
|
839 |
|
840 |
+
with gr.Row():
|
841 |
+
with gr.Column():
|
842 |
+
state = gr.State()
|
843 |
+
|
844 |
+
chatbot = gr.Chatbot([], elem_id="RADAR:Channel 94.1", bubble_full_width=False)
|
845 |
+
choice = gr.Radio(label="Select Style", choices=["Details", "Conversational"], value="Conversational")
|
846 |
+
|
847 |
+
gr.Markdown("<h1 style='color: red;'>Talk to RADAR</h1>", elem_id="voice-markdown")
|
848 |
+
chat_input = gr.Textbox(show_copy_button=True, interactive=True, show_label=False, label="ASK Radar !!!")
|
849 |
+
chat_msg = chat_input.submit(add_message, [chatbot, chat_input], [chatbot, chat_input])
|
850 |
+
bot_msg = chat_msg.then(bot, [chatbot, choice], [chatbot, gr.Audio(interactive=False, autoplay=True)])
|
851 |
+
bot_msg.then(lambda: gr.Textbox(value="", interactive=True, placeholder="Ask Radar!!!...", show_label=False), None, [chat_input])
|
852 |
+
chatbot.like(print_like_dislike, None, None)
|
853 |
+
clear_button = gr.Button("Clear")
|
854 |
+
clear_button.click(fn=clear_textbox, inputs=None, outputs=chat_input)
|
855 |
+
|
856 |
+
|
857 |
+
audio_input = gr.Audio(sources=["microphone"], streaming=True, type='numpy')
|
858 |
+
audio_input.stream(transcribe_function, inputs=[state, audio_input], outputs=[state, chat_input], api_name="SAMLOne_real_time")
|
859 |
+
|
860 |
+
gr.Markdown("<h1 style='color: red;'>Map</h1>", elem_id="location-markdown")
|
861 |
+
location_output = gr.HTML()
|
862 |
+
bot_msg.then(show_map_if_details, [chatbot, choice], [location_output, location_output])
|
863 |
+
|
864 |
+
with gr.Column():
|
865 |
+
weather_output = gr.HTML(value=fetch_local_weather())
|
866 |
+
news_output = gr.HTML(value=fetch_local_news())
|
867 |
+
news_output = gr.HTML(value=fetch_local_events())
|
868 |
+
|
869 |
+
with gr.Column():
|
870 |
+
|
871 |
+
image_output_1 = gr.Image(value=generate_image(hardcoded_prompt_1), width=400, height=400)
|
872 |
+
image_output_2 = gr.Image(value=generate_image(hardcoded_prompt_2), width=400, height=400)
|
873 |
+
image_output_3 = gr.Image(value=generate_image(hardcoded_prompt_3), width=400, height=400)
|
874 |
+
|
|
|
875 |
|
876 |
+
refresh_button = gr.Button("Refresh Images")
|
877 |
+
refresh_button.click(fn=update_images, inputs=None, outputs=[image_output_1, image_output_2, image_output_3])
|
878 |
+
|
879 |
+
demo.queue()
|
880 |
+
demo.launch(share=True)
|