Spaces:
Running
on
Zero
Running
on
Zero
import gradio as gr | |
import requests | |
def create_user(username, password): | |
response = requests.post("http://localhost:8000/users/", json={"username": username, "password": password}) | |
return response.json() | |
def create_team(name): | |
response = requests.post("http://localhost:8000/teams/", json={"name": name}) | |
return response.json() | |
def read_users(): | |
response = requests.get("http://localhost:8000/users/") | |
return response.json() | |
def read_teams(): | |
response = requests.get("http://localhost:8000/teams/") | |
return response.json() | |
def read_user(user_id): | |
response = requests.get(f"http://localhost:8000/users/{user_id}") | |
return response.json() | |
def update_user(user_id, username, profile, tags): | |
response = requests.put(f"http://localhost:8000/users/{user_id}", json={"username": username, "profile": profile, "tags": tags}) | |
return response.json() | |
with gr.Blocks() as demo: | |
with gr.Row(): | |
with gr.Column(): | |
gr.Markdown("## User Registration") | |
username = gr.Textbox(label="Username") | |
password = gr.Textbox(label="Password", type="password") | |
submit = gr.Button("Register") | |
submit.click(fn=create_user, inputs=[username, password], outputs="text") | |
with gr.Column(): | |
gr.Markdown("## Team Creation") | |
team_name = gr.Textbox(label="Team Name") | |
submit_team = gr.Button("Create Team") | |
submit_team.click(fn=create_team, inputs=[team_name], outputs="text") | |
with gr.Row(): | |
with gr.Column(): | |
gr.Markdown("## User List") | |
users = gr.Dropdown(label="Users", choices=read_users()) | |
user_id = gr.Textbox(label="User ID") | |
submit_user = gr.Button("Get User") | |
submit_user.click(fn=read_user, inputs=[user_id], outputs="text") | |
with gr.Column(): | |
gr.Markdown("## Team List") | |
teams = gr.Dropdown(label="Teams", choices=read_teams()) | |
team_id = gr.Textbox(label="Team ID") | |
submit_team = gr.Button("Get Team") | |
submit_team.click(fn=read_teams, inputs=[team_id], outputs="text") | |
with gr.Row(): | |
with gr.Column(): | |
gr.Markdown("## Update User") | |
user_id = gr.Textbox(label="User ID") | |
username = gr.Textbox(label="Username") | |
profile = gr.Textbox(label="Profile") | |
tags = gr.Textbox(label="Tags") | |
submit = gr.Button("Update User") | |
submit.click(fn=update_user, inputs=[user_id, username, profile, tags], outputs="text") | |
demo.launch() |