| from typing import Tuple |
|
|
| import gradio as gr |
| import requests |
|
|
|
|
| def is_active(url) -> Tuple[bool, str]: |
| try: |
| response = requests.get(url, timeout=10) |
| if 200 <= response.status_code < 300: |
| return True, f"The website {url} is active." |
| else: |
| return ( |
| False, |
| f"The website {url} returned status code {response.status_code}.", |
| ) |
| except requests.ConnectionError: |
| return False, f"Failed to connect to {url}." |
| except requests.Timeout: |
| return False, f"The request to {url} timed out." |
| except requests.RequestException as e: |
| return False, f"An error occurred: {e}" |
|
|
|
|
| demo = gr.Interface( |
| fn=is_active, |
| inputs="text", |
| outputs=[ |
| gr.Textbox(label="Status (True/False)"), |
| gr.Textbox(label="Message"), |
| ], |
| title="Website Activity Checker", |
| description="Enter a URL to check if the website is active.", |
| allow_flagging="never", |
| ) |
|
|
| demo.launch() |
|
|