|
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() |