| import requests |
| import gradio as gr |
| import json |
| |
| def get_api(inp,call,val,tot): |
| if not tot: |
| r = requests.get(f'{inp}?{call}={val}') |
| new_data=r.text |
| print (new_data) |
| |
| return (new_data) |
| else: |
| out_box=[] |
| data="" |
| for i in range(int(val)): |
| |
| try: |
| r = requests.get(f'{inp}?{call}={int(val)-i}') |
| new_data=r.text |
| new_dict = json.loads(new_data) |
| |
| if "2024" in new_dict["data"]["member_since"]: |
| |
| out_box.append(new_dict) |
| except Exception as e: |
| print (f"{i} - {e}") |
| pass |
| yield (out_box) |
| with gr.Blocks() as app: |
| with gr.Group(): |
| with gr.Row(): |
| with gr.Column(scale=3): |
| api_url=gr.Textbox(label="API URL") |
| with gr.Column(scale=2): |
| with gr.Row(): |
| api_call=gr.Textbox(label="API CALL") |
| api_val=gr.Textbox(label="VALUE") |
| with gr.Column(scale=1): |
| val_tot=gr.Checkbox(label="Count", value=False) |
| with gr.Row(): |
| btn=gr.Button("Search") |
| stop_btn=gr.Button("Stop") |
| outp=gr.JSON() |
| go_btn = btn.click(get_api,[api_url,api_call,api_val,val_tot],outp) |
| stop_btn.click(None,None,None,cancels=[go_btn]) |
| app.launch() |