ldhldh/rest_api
0
1import gradio as gr2from gradio import routes3from typing import List, Type4 5import requests, os, re, asyncio, queue6import math7import time8import datetime9import requests, json10 11loop = asyncio.get_event_loop()12# Monkey patch13def get_types(cls_set: List[Type], component: str):14 docset = []15 types = []16 if component == "input":17 for cls in cls_set:18 doc = inspect.getdoc(cls)19 doc_lines = doc.split("\n")20 docset.append(doc_lines[1].split(":")[-1])21 types.append(doc_lines[1].split(")")[0].split("(")[-1])22 else:23 for cls in cls_set:24 doc = inspect.getdoc(cls)25 doc_lines = doc.split("\n")26 docset.append(doc_lines[-1].split(":")[-1])27 types.append(doc_lines[-1].split(")")[0].split("(")[-1])28 return docset, types29routes.get_types = get_types30 31def example_func(id, pw):32 if not id in user_data:33 user_data[id] = pw34 return "ok"35 else:36 return "fail"37 38with gr.Blocks() as demo:39 count = 040 gr.Markdown(41 f"sample app"42 )43 aa = gr.Interface(44 fn=example_func,45 inputs=["text", "text"],46 outputs="text",47 description="example_func",48 )49 demo.queue(max_size=32).launch()