Spaces:
Runtime error
Runtime error
import gradio as gr | |
import gradio.utils | |
if gradio.utils.get_space() is not None: | |
URL, PORT = "https://wauplin-gradio-oauth-test.hf.space", 7860 | |
else: | |
URL, PORT = "http://localhost:5173", 5173 | |
TEMPLATE = """ | |
### Name: {name} | |
### Username: {preferred_username} | |
### Profile: {profile} | |
### Website: {website} | |
![Profile Picture]({picture}) | |
You can manage your connected applications in your [settings](https://huggingface.co/settings/connected-applications). | |
""" | |
def show_profile(request: gr.Request) -> str: | |
# request.session in case of websockets (see `def get_request_params`) | |
# request.request.session in case of direct call | |
session = getattr(request, "session", None) or getattr(request.request, "session", None) | |
if session is None: # should never happen... | |
return "No session attached" | |
if "oauth_info" not in session: | |
return "Please login first" | |
return TEMPLATE.format(**session["oauth_info"]["userinfo"]) | |
with gr.Blocks() as demo: | |
with gr.Row(): | |
gr.LoginButton() | |
gr.LogoutButton() | |
profile_btn = gr.Button("Show profile") | |
output = gr.Markdown() | |
profile_btn.click(fn=show_profile, outputs=output) | |
print(URL) | |
demo.queue() | |
demo.launch(server_port=PORT) | |